Переписывание фрагмента кода в соответствии с принципами SOLID
Разделите загрузку пользователей, построение поздравления и запись файлов; зависимости передавайте через конструктор, а асинхронный запрос ожидайте через await.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Разделите загрузку пользователей, построение поздравления и запись файлов; зависимости передавайте через конструктор, а асинхронный запрос ожидайте через await.
Читать ответПроблема — совместное изменение обычного Dictionary без синхронизации. ContainsKey и Add не атомарны; чтение словаря одновременно с записью тоже небезопасно.
Читать ответВывод: C.F, B.F, C.F. Метод не виртуальный, поэтому при сокрытии через new выбор зависит от статического типа выражения; объект при этом остаётся одним экземпляром C.
Читать ответПосле исправления синтаксиса вывод будет BBB, затем BBB. В приведённом виде программа не компилируется из-за регистра имён, пропущенной точки с запятой и точки входа.
Читать ответВ исходнике есть ошибки компиляции. После исправления имён и точки входа создание ClassB напечатает BBB дважды: оба конструктора вызывают переопределённый метод.
Читать ответКак записано в условии, код не компилируется: объявлен enum color, а используется Color. После исправления регистра программа выведет 1, 11.
Читать ответПри создании B возникнет NullReferenceException: конструктор A вызывает B.Foo до выполнения тела конструктора B, где создаётся builder. Строка в консоль не выводится.
Читать ответПрограмма напечатает 5 и 12. Распаковка (int)obj копирует значение в num; последующее присваивание num не меняет объект, на который ссылается obj.
Читать ответВ консоль будут выведены 5 и 12 на отдельных строках. При boxing в object копируется текущее значение int; изменение исходной переменной не меняет упакованную копию.
Читать ответJavaScript выведет -1, поскольку числа 3 в массиве нет. SQL-запрос с GROUP BY field1, field2 допустим, но может вернуть одинаковое field1 для разных групп.
Читать ответХраните счётчик попыток для события, повторяйте только Pending с задержкой не меньше пяти секунд и завершайте обработку после OK или исчерпания трёх попыток. Error в примере считается окончательным отказом.
Читать ответПри ожидаемом O(1) для операций hash set алгоритм работает за O(n) времени и использует O(k) дополнительной памяти. Это оценка при нормальном распределении хешей, не универсальный worst case.
Читать ответ