VB Visual Basic  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Файлы, потоки и сериализация

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

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 70 минут; после ответа можно открыть объяснение.
Вопрос 1 из 25
Какой вывод о фрагменте по теме «Файловый API» технически обоснован?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Imports System.IO
Module Demo
    Function ReadConfig(path As String) As String
        Return File.ReadAllText(path, Text.Encoding.UTF8)
    End Function
End Module
Вопрос 2 из 25
Раздел «Файловый API»: какой комментарий к изменению будет технически обоснован?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Strict On
Imports System.IO
Namespace ReviewCase15_1
    Module Demo
        Function ReadConfig(reviewPath As String) As String
            Return File.ReadAllText(reviewPath, Text.Encoding.UTF8)
        End Function
    End Module
End Namespace
Вопрос 3 из 25
Раздел «Файловый API»: что именно должен локализовать полезный граничный тест для этого кода?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Explicit On
Option Infer On
Imports System.IO
Namespace BoundaryCase15_1
    Module Demo
        Function ReadConfig(edgePath As String) As String
            Return File.ReadAllText(edgePath, Text.Encoding.UTF8)
        End Function
    End Module
End Namespace
Вопрос 4 из 25
Раздел «Файловый API»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 5 из 25
Какое утверждение о «Файловый API» выдерживает изменение имён и входных данных?
Вопрос 6 из 25
Раздел «Потоки данных»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Imports System.IO
Module Demo
    Function ReadExact(stream As Stream, size As Integer) As Byte()
        Dim buffer(size - 1) As Byte
        Dim offset = 0
        While offset < buffer.Length
            Dim read = stream.Read(buffer, offset, buffer.Length - offset)
            If read = 0 Then Throw New EndOfStreamException()
            offset += read
        End While
        Return buffer
    End Function
End Module
Вопрос 7 из 25
Раздел «Потоки данных»: что следует зафиксировать в ревью, чтобы ошибка не переехала из сборки в выполнение?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Strict On
Imports System.IO
Namespace ReviewCase15_2
    Module Demo
        Function ReadExact(reviewStream As Stream, reviewSize As Integer) As Byte()
            Dim reviewBuffer(reviewSize - 1) As Byte
            Dim reviewOffset = 0
            While reviewOffset < reviewBuffer.Length
                Dim reviewRead = reviewStream.Read(reviewBuffer, reviewOffset, reviewBuffer.Length - reviewOffset)
                If reviewRead = 0 Then Throw New EndOfStreamException()
                reviewOffset += reviewRead
            End While
            Return reviewBuffer
        End Function
    End Module
End Namespace
Вопрос 8 из 25
Раздел «Потоки данных»: обычный сценарий проходит. Что следует закрепить отдельным граничным тестом?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Explicit On
Option Infer On
Imports System.IO
Namespace BoundaryCase15_2
    Module Demo
        Function ReadExact(edgeStream As Stream, edgeSize As Integer) As Byte()
            Dim edgeBuffer(edgeSize - 1) As Byte
            Dim edgeOffset = 0
            While edgeOffset < edgeBuffer.Length
                Dim edgeRead = edgeStream.Read(edgeBuffer, edgeOffset, edgeBuffer.Length - edgeOffset)
                If edgeRead = 0 Then Throw New EndOfStreamException()
                edgeOffset += edgeRead
            End While
            Return edgeBuffer
        End Function
    End Module
End Namespace
Вопрос 9 из 25
Раздел «Потоки данных»: обычный сценарий в рабочем модуле проходит, но поведение ещё не закреплено проверкой. Какое решение не маскирует причину?
Вопрос 10 из 25
Раздел «Потоки данных»: какой вывод описывает семантику, а не предпочтение в оформлении?
Вопрос 11 из 25
Какой контракт действительно соблюдает показанный фрагмент из раздела «Сериализация JSON»?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Imports System.Text.Json
Class Settings
    Public Property RetryCount As Integer
End Class
Module Demo
    Function Parse(raw As String) As Settings
        Dim value = JsonSerializer.Deserialize(Of Settings)(raw)
        If value Is Nothing OrElse value.RetryCount < 0 Then Throw New JsonException("invalid settings")
        Return value
    End Function
End Module
Вопрос 12 из 25
Раздел «Сериализация JSON»: перед объединением правки нужно проверить один принцип. Какой именно?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Strict On
Imports System.Text.Json
Namespace ReviewCase15_3
    Class Settings
        Public Property RetryCount As Integer
    End Class
    Module Demo
        Function Parse(reviewRaw As String) As Settings
            Dim value = JsonSerializer.Deserialize(Of Settings)(reviewRaw)
            If value Is Nothing OrElse value.RetryCount < 0 Then Throw New JsonException("invalid settings")
            Return value
        End Function
    End Module
End Namespace
Вопрос 13 из 25
Раздел «Сериализация JSON»: что изменится первым при нарушении ключевого допущения этого фрагмента?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Explicit On
Option Infer On
Imports System.Text.Json
Namespace BoundaryCase15_3
    Class Settings
        Public Property RetryCount As Integer
    End Class
    Module Demo
        Function Parse(edgeRaw As String) As Settings
            Dim value = JsonSerializer.Deserialize(Of Settings)(edgeRaw)
            If value Is Nothing OrElse value.RetryCount < 0 Then Throw New JsonException("invalid settings")
            Return value
        End Function
    End Module
End Namespace
Вопрос 14 из 25
Раздел «Сериализация JSON»: обычный сценарий в рабочем модуле проходит, но поведение ещё не закреплено проверкой. Какое решение не маскирует причину?
Вопрос 15 из 25
Раздел «Сериализация JSON»: какое обобщение не зависит от случайных деталей показанного примера?
Вопрос 16 из 25
Какой вывод о фрагменте по теме «Кодировки» технически обоснован?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Imports System.IO
Imports System.Text
Module Demo
    Sub Save(path As String, text As String)
        File.WriteAllText(path, text, New UTF8Encoding(False))
    End Sub
End Module
Вопрос 17 из 25
Раздел «Кодировки»: что следует зафиксировать в ревью, чтобы ошибка не переехала из сборки в выполнение?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Strict On
Imports System.IO
Imports System.Text
Namespace ReviewCase15_4
    Module Demo
        Sub Save(reviewPath As String, reviewText As String)
            File.WriteAllText(reviewPath, reviewText, New UTF8Encoding(False))
        End Sub
    End Module
End Namespace
Вопрос 18 из 25
Раздел «Кодировки»: что именно должен локализовать полезный граничный тест для этого кода?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Explicit On
Option Infer On
Imports System.IO
Imports System.Text
Namespace BoundaryCase15_4
    Module Demo
        Sub Save(edgePath As String, edgeText As String)
            File.WriteAllText(edgePath, edgeText, New UTF8Encoding(False))
        End Sub
    End Module
End Namespace
Вопрос 19 из 25
Раздел «Кодировки»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 20 из 25
Раздел «Кодировки»: какое правило остаётся верным для современного Visual Basic?
Вопрос 21 из 25
Какой вывод о фрагменте по теме «Проверка допущений» технически обоснован?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Imports System.IO
Module Demo
    Sub ReplaceAtomically(target As String, content As String)
        Dim temp = target & ".tmp"
        File.WriteAllText(temp, content)
        File.Move(temp, target, True)
    End Sub
End Module
Вопрос 22 из 25
Раздел «Проверка допущений»: какой комментарий к изменению будет технически обоснован?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Strict On
Imports System.IO
Namespace ReviewCase15_5
    Module Demo
        Sub ReplaceAtomically(reviewTarget As String, reviewContent As String)
            Dim reviewTemp = reviewTarget & ".tmp"
            File.WriteAllText(reviewTemp, reviewContent)
            File.Move(reviewTemp, reviewTarget, True)
        End Sub
    End Module
End Namespace
Вопрос 23 из 25
Раздел «Проверка допущений»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · Файлы, потоки и сериализация
Option Explicit On
Option Infer On
Imports System.IO
Namespace BoundaryCase15_5
    Module Demo
        Sub ReplaceAtomically(edgeTarget As String, edgeContent As String)
            Dim edgeTemp = edgeTarget & ".tmp"
            File.WriteAllText(edgeTemp, edgeContent)
            File.Move(edgeTemp, edgeTarget, True)
        End Sub
    End Module
End Namespace
Вопрос 24 из 25
Раздел «Проверка допущений»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 25 из 25
Раздел «Проверка допущений»: какой вывод описывает семантику, а не предпочтение в оформлении?

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

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

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

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