VB Visual Basic  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Производительность .NET-приложения

Тест по теме «Производительность .NET-приложения» состоит из 30 вопросов: нужно читать код, сравнивать близкие решения, находить границы применимости правил и разбирать последствия ошибок. Заданий с кодом — 18; после каждого ответа открывается объяснение.

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 85 минут; после ответа можно открыть объяснение.
Вопрос 1 из 30
Раздел «Профилирование»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Module Demo
    Function LoadDashboard() As Dashboard
        Using activity = Telemetry.StartActivity("dashboard")
            Dim data = Repository.Load()
            activity?.SetTag("rows", data.Count)
            Return Renderer.Build(data)
        End Using
    End Function
End Module
Вопрос 2 из 30
Раздел «Профилирование»: какую договорённость важнее сохранить, чем выиграть несколько строк кода?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_1
    Module Demo
        Function LoadDashboard() As Dashboard
            Using activity = Telemetry.StartActivity("dashboard")
                Dim reviewData = Repository.Load()
                activity?.SetTag("rows", reviewData.Count)
                Return Renderer.Build(reviewData)
            End Using
        End Function
    End Module
End Namespace
Вопрос 3 из 30
Раздел «Профилирование»: какое правило нельзя считать проверенным одним обычным примером?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_1
    Module Demo
        Function LoadDashboard() As Dashboard
            Using activity = Telemetry.StartActivity("dashboard")
                Dim edgeData = Repository.Load()
                activity?.SetTag("rows", edgeData.Count)
                Return Renderer.Build(edgeData)
            End Using
        End Function
    End Module
End Namespace
Вопрос 4 из 30
Раздел «Профилирование»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 5 из 30
Какой принцип по теме «Профилирование» стоит закрепить в командных соглашениях?
Вопрос 6 из 30
Раздел «Аллокации»: какой разбор этого кода останется точным после переименования переменных?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Module Demo
    Function BuildLines(values As IEnumerable(Of Integer)) As String
        Dim builder = New Text.StringBuilder()
        For Each value In values
            builder.Append(value).AppendLine()
        Next
        Return builder.ToString()
    End Function
End Module
Вопрос 7 из 30
Раздел «Аллокации»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_2
    Module Demo
        Function BuildLines(reviewValues As IEnumerable(Of Integer)) As String
            Dim reviewBuilder = New Text.StringBuilder()
            For Each value In reviewValues
                reviewBuilder.Append(value).AppendLine()
            Next
            Return reviewBuilder.ToString()
        End Function
    End Module
End Namespace
Вопрос 8 из 30
Раздел «Аллокации»: для участка с BuildLines нужен отрицательный тест. Какой контракт стоит проверить, меняя только одно условие?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_2
    Module Demo
        Function BuildLines(edgeValues As IEnumerable(Of Integer)) As String
            Dim edgeBuilder = New Text.StringBuilder()
            For Each value In edgeValues
                edgeBuilder.Append(value).AppendLine()
            Next
            Return edgeBuilder.ToString()
        End Function
    End Module
End Namespace
Вопрос 9 из 30
Раздел «Аллокации»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 10 из 30
Раздел «Аллокации»: какое обобщение не зависит от случайных деталей показанного примера?
Вопрос 11 из 30
Раздел «Упаковка значимых типов»: какой разбор этого кода останется точным после переименования переменных?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Module Demo
    Function ContainsValue(items As IEnumerable(Of Integer), expected As Integer) As Boolean
        For Each item As Object In items
            If CInt(item) = expected Then Return True
        Next
        Return False
    End Function
End Module
Вопрос 12 из 30
После рефакторинга код стал короче. Какое условие по теме «Упаковка значимых типов» нельзя потерять?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_3
    Module Demo
        Function ContainsValue(reviewItems As IEnumerable(Of Integer), reviewExpected As Integer) As Boolean
            For Each reviewItem As Object In reviewItems
                If CInt(reviewItem) = reviewExpected Then Return True
            Next
            Return False
        End Function
    End Module
End Namespace
Вопрос 13 из 30
Раздел «Упаковка значимых типов»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_3
    Module Demo
        Function ContainsValue(edgeItems As IEnumerable(Of Integer), edgeExpected As Integer) As Boolean
            For Each edgeItem As Object In edgeItems
                If CInt(edgeItem) = edgeExpected Then Return True
            Next
            Return False
        End Function
    End Module
End Namespace
Вопрос 14 из 30
Раздел «Упаковка значимых типов»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 15 из 30
Какое утверждение о «Упаковка значимых типов» выдерживает изменение имён и входных данных?
Вопрос 16 из 30
Какой контракт действительно соблюдает показанный фрагмент из раздела «Асинхронный ввод-вывод»?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Module Demo
    Async Function DownloadAllAsync(urls As IEnumerable(Of String), client As HttpClient) As Task(Of String())
        Dim tasks = urls.Select(Function(url) client.GetStringAsync(url))
        Return Await Task.WhenAll(tasks)
    End Function
End Module
Вопрос 17 из 30
Раздел «Асинхронный ввод-вывод»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_4
    Module Demo
        Async Function DownloadAllAsync(reviewUrls As IEnumerable(Of String), reviewClient As HttpClient) As Task(Of String())
            Dim reviewTasks = reviewUrls.Select(Function(url) reviewClient.GetStringAsync(url))
            Return Await Task.WhenAll(reviewTasks)
        End Function
    End Module
End Namespace
Вопрос 18 из 30
Раздел «Асинхронный ввод-вывод»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_4
    Module Demo
        Async Function DownloadAllAsync(edgeUrls As IEnumerable(Of String), edgeClient As HttpClient) As Task(Of String())
            Dim edgeTasks = edgeUrls.Select(Function(url) edgeClient.GetStringAsync(url))
            Return Await Task.WhenAll(edgeTasks)
        End Function
    End Module
End Namespace
Вопрос 19 из 30
Раздел «Асинхронный ввод-вывод»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 20 из 30
Что точнее всего описывает механизм «Асинхронный ввод-вывод»?
Вопрос 21 из 30
Раздел «Риски безопасности»: код использует FastRead. Какой вывод останется верным при других допустимых входных данных?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Module Demo
    Function FastRead(path As String, user As User) As String
        Authorization.RequireRead(user, path)
        PathPolicy.Validate(path)
        Return File.ReadAllText(path)
    End Function
End Module
Вопрос 22 из 30
Раздел «Риски безопасности»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_5
    Module Demo
        Function FastRead(reviewPath As String, reviewUser As User) As String
            Authorization.RequireRead(reviewUser, reviewPath)
            PathPolicy.Validate(reviewPath)
            Return File.ReadAllText(reviewPath)
        End Function
    End Module
End Namespace
Вопрос 23 из 30
Раздел «Риски безопасности»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_5
    Module Demo
        Function FastRead(edgePath As String, edgeUser As User) As String
            Authorization.RequireRead(edgeUser, edgePath)
            PathPolicy.Validate(edgePath)
            Return File.ReadAllText(edgePath)
        End Function
    End Module
End Namespace
Вопрос 24 из 30
Раздел «Риски безопасности»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 25 из 30
Какое утверждение точнее отделяет «Риски безопасности» от соседних механизмов?
Вопрос 26 из 30
Раздел «Контроль производительности»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Class PerformanceBudgetTests
    <Fact>
    Public Sub FormatsTenThousandRowsWithinBudget()
        Dim rows = TestData.Rows(10000)
        Dim elapsed = Measure(Sub() Formatter.Format(rows))
        Assert.True(elapsed < TimeSpan.FromMilliseconds(150))
    End Sub
End Class
Вопрос 27 из 30
Раздел «Контроль производительности»: перед объединением правки нужно проверить один принцип. Какой именно?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Strict On
Namespace ReviewCase25_6
    Class PerformanceBudgetTests
        <Fact>
        Public Sub FormatsTenThousandRowsWithinBudget()
            Dim reviewRows = TestData.Rows(10000)
            Dim reviewElapsed = Measure(Sub() Formatter.Format(reviewRows))
            Assert.True(reviewElapsed < TimeSpan.FromMilliseconds(151))
        End Sub
    End Class
End Namespace
Вопрос 28 из 30
Раздел «Контроль производительности»: что изменится первым при нарушении ключевого допущения этого фрагмента?
Visual Basic / VB.NETVisual Basic · Производительность .NET-приложения
Option Explicit On
Option Infer On
Namespace BoundaryCase25_6
    Class PerformanceBudgetTests
        <Fact>
        Public Sub FormatsTenThousandRowsWithinBudget()
            Dim edgeRows = TestData.Rows(10000)
            Dim edgeElapsed = Measure(Sub() Formatter.Format(edgeRows))
            Assert.True(edgeElapsed < TimeSpan.FromMilliseconds(149))
        End Sub
    End Class
End Namespace
Вопрос 29 из 30
Раздел «Контроль производительности»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 30 из 30
Раздел «Контроль производительности»: какое обобщение не зависит от случайных деталей показанного примера?

Ответьте на все 30 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу