VB Visual Basic  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Массивы и коллекции .NET

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 55 минут; после ответа можно открыть объяснение.
Вопрос 1 из 20
Раздел «Одномерные массивы»: какой разбор этого кода останется точным после переименования переменных?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Module Demo
    Sub Main()
        Dim values(4) As Integer
        values(4) = 9
        Console.WriteLine($"{values.Length}:{values.GetUpperBound(0)}")
    End Sub
End Module
Вопрос 2 из 20
После рефакторинга код стал короче. Какое условие по теме «Одномерные массивы» нельзя потерять?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Strict On
Namespace ReviewCase4_1
    Module Demo
        Sub Main()
            Dim reviewValues(5) As Integer
            reviewValues(5) = 10
            Console.WriteLine($"{reviewValues.Length}:{reviewValues.GetUpperBound(0)}")
        End Sub
    End Module
End Namespace
Вопрос 3 из 20
Раздел «Одномерные массивы»: для фрагмента с values добавляют регрессионный тест. Какой контракт он должен защищать?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Explicit On
Option Infer On
Namespace BoundaryCase4_1
    Module Demo
        Sub Main()
            Dim edgeValues(3) As Integer
            edgeValues(3) = 8
            Console.WriteLine($"{edgeValues.Length}:{edgeValues.GetUpperBound(0)}")
        End Sub
    End Module
End Namespace
Вопрос 4 из 20
Раздел «Одномерные массивы»: какое решение выдержит не только демонстрационный, но и отказный сценарий?
Вопрос 5 из 20
Какое утверждение точнее отделяет «Одномерные массивы» от соседних механизмов?
Вопрос 6 из 20
Раздел «Типизированные списки»: код использует queue. Какой вывод останется верным при других допустимых входных данных?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Module Demo
    Sub Main()
        Dim queue = New List(Of String) From {"a", "b", "c"}
        queue.Insert(1, "x")
        queue.RemoveAt(0)
        Console.WriteLine(String.Join(",", queue))
    End Sub
End Module
Вопрос 7 из 20
После рефакторинга код стал короче. Какое условие по теме «Типизированные списки» нельзя потерять?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Strict On
Namespace ReviewCase4_2
    Module Demo
        Sub Main()
            Dim reviewQueue = New List(Of String) From {"a", "b", "c"}
            reviewQueue.Insert(1, "x")
            reviewQueue.RemoveAt(0)
            Console.WriteLine(String.Join(",", reviewQueue))
        End Sub
    End Module
End Namespace
Вопрос 8 из 20
Раздел «Типизированные списки»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Explicit On
Option Infer On
Namespace BoundaryCase4_2
    Module Demo
        Sub Main()
            Dim edgeQueue = New List(Of String) From {"a", "b", "c"}
            edgeQueue.Insert(1, "x")
            edgeQueue.RemoveAt(0)
            Console.WriteLine(String.Join(",", edgeQueue))
        End Sub
    End Module
End Namespace
Вопрос 9 из 20
Раздел «Типизированные списки»: что здесь важнее локального удобства: какой контракт должен быть виден в коде?
Вопрос 10 из 20
Какое утверждение о «Типизированные списки» выдерживает изменение имён и входных данных?
Вопрос 11 из 20
Раздел «Словари Dictionary»: что в этом коде определяет результат, а не случайное совпадение тестовых данных?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Module Demo
    Sub Main()
        Dim prices = New Dictionary(Of String, Decimal)(StringComparer.OrdinalIgnoreCase) From {
            {"Tea", 2.5D}
        }
        Dim price As Decimal
        Console.WriteLine(prices.TryGetValue("tea", price))
        Console.WriteLine(price)
    End Sub
End Module
Вопрос 12 из 20
Раздел «Словари Dictionary»: что следует зафиксировать в ревью, чтобы ошибка не переехала из сборки в выполнение?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Strict On
Namespace ReviewCase4_3
    Module Demo
        Sub Main()
            Dim reviewPrices = New Dictionary(Of String, Decimal)(StringComparer.OrdinalIgnoreCase) From {
                {"Tea", 2.5D}
            }
            Dim reviewPrice As Decimal
            Console.WriteLine(reviewPrices.TryGetValue("tea", reviewPrice))
            Console.WriteLine(reviewPrice)
        End Sub
    End Module
End Namespace
Вопрос 13 из 20
Раздел «Словари Dictionary»: что именно должен локализовать полезный граничный тест для этого кода?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Explicit On
Option Infer On
Namespace BoundaryCase4_3
    Module Demo
        Sub Main()
            Dim edgePrices = New Dictionary(Of String, Decimal)(StringComparer.OrdinalIgnoreCase) From {
                {"Tea", 2.5D}
            }
            Dim edgePrice As Decimal
            Console.WriteLine(edgePrices.TryGetValue("tea", edgePrice))
            Console.WriteLine(edgePrice)
        End Sub
    End Module
End Namespace
Вопрос 14 из 20
Раздел «Словари Dictionary»: какое решение выдержит не только демонстрационный, но и отказный сценарий?
Вопрос 15 из 20
Что можно считать надёжным рабочим правилом для раздела «Словари Dictionary»?
Вопрос 16 из 20
Посмотрите на фрагмент по теме «Перебор». Какое объяснение точнее всего связывает код с его поведением?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Module Demo
    Sub Main()
        Dim values = Enumerable.Range(1, 6).ToList()
        For index = values.Count - 1 To 0 Step -1
            If values(index) Mod 2 = 0 Then values.RemoveAt(index)
        Next
        Console.WriteLine(String.Join(" ", values))
    End Sub
End Module
Вопрос 17 из 20
Раздел «Перебор»: какую договорённость важнее сохранить, чем выиграть несколько строк кода?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Strict On
Namespace ReviewCase4_4
    Module Demo
        Sub Main()
            Dim reviewValues = Enumerable.Range(1, 7).ToList()
            For reviewIndex = reviewValues.Count - 1 To 0 Step -1
                If reviewValues(reviewIndex) Mod 3 = 0 Then reviewValues.RemoveAt(reviewIndex)
            Next
            Console.WriteLine(String.Join(" ", reviewValues))
        End Sub
    End Module
End Namespace
Вопрос 18 из 20
Раздел «Перебор»: обычный сценарий проходит. Что следует закрепить отдельным граничным тестом?
Visual Basic / VB.NETVisual Basic · Массивы и коллекции .NET
Option Explicit On
Option Infer On
Namespace BoundaryCase4_4
    Module Demo
        Sub Main()
            Dim edgeValues = Enumerable.Range(1, 5).ToList()
            For edgeIndex = edgeValues.Count - 1 To 0 Step -1
                If edgeValues(edgeIndex) Mod 1 = 0 Then edgeValues.RemoveAt(edgeIndex)
            Next
            Console.WriteLine(String.Join(" ", edgeValues))
        End Sub
    End Module
End Namespace
Вопрос 19 из 20
Раздел «Перебор»: какой вариант оставляет важное условие явным для следующего разработчика?
Вопрос 20 из 20
Какое утверждение о «Перебор» выдерживает изменение имён и входных данных?

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

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

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

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