Примеры кода
Вопросы для собеседования на позицию разработчика
Имя кандидата на вакансию:
Общие вопросы
| № |
Вопрос |
Оценка |
| 1 |
Как проверить является ли число чётным? |
|
| 2 |
Что такое хвостовая рекурсия? |
|
| 3 |
Что предпочтительнее, наследование или композиция? Почему? |
|
| 4 |
В чём отличие мьютекса от семафора? |
|
| 5 |
Асинхронность и многопоточность. Какая связь между этими словами? |
|
| 6 |
Какие знаете паттерны проектирования? |
|
| 7 |
Что такое синглтон? |
|
| 8 |
Что из себя представляют индексы в БД? |
|
| 9 |
Какие проблемы решает Dependency Injection? Какие реализации DI вам известны? |
|
Вопросы по C#
| № |
Вопрос |
Оценка |
| 1 |
В каких случаях предпочтительнее использовать StringBuilder, а в каких конкатенацию строк? |
|
| 2 |
Плюсы и минусы static переменных |
|
| 3 |
Что такое ORM (Object-Relational Mapping)? Что такое Entity Framework? |
|
| 4 |
Когда лучше использовать HashSet, а когда List? (Для добавления, удаления, Contains) |
|
| 5 |
Чем отличается struct от class? |
|
| 6 |
Для чего предназначено ключевое слово volatile? |
|
| 7 |
Как работает Try-Catch-Finally? |
|
| 8 |
Как работает using? |
|
| 9 |
В чём разница между абстрактным классом и интерфейсом? Что использовать предпочтительнее? |
|
| 10 |
Для чего используются атрибуты в C#? Как добавить собственный атрибут и обработать его? |
|
| 11 |
Какие существуют потокобезопасные коллекции? |
|
| 12 |
В чём отличие IEnumerable от IQueryable? |
|
| 13 |
Каким образом сравнить две строки (string) без учёта регистра? |
|
| 14 |
Как вычислить сумму элементов массива? |
|
Вопросы про TPL
| № |
Вопрос |
Оценка |
| 1 |
Любой ли метод, который возвращает Task выполняется асинхронно? |
|
| 2 |
В чём отличие async void в объявлении метода от async Task? |
|
| 3 |
Почему использование асинхронных методов повышает производительность приложений, которые взаимодействуют с системами ввода вывода (диск, сеть и т.п.)? |
|
| 4 |
Каким образом запустить выполнение определённого метода в отдельном потоке? |
|
| 5 |
Каким образом отменить выполнение Task? |
|
Комплексные вопросы
| № |
Вопрос |
Оценка |
| 1 |
Каким образом реализовать систему плагинов на C#? Как обезопасить основное приложение от вредоносного влияния плагинов? Как добавить использование языков отличных от C#? |
|
| 2 |
Каким образом решить проблему того, что приложение на C# выполняется медленно? А если потребляет много оперативной памяти? |
|
Вопросы по JS (TS) (в веб-браузере)
| № |
Вопрос |
Оценка |
| 1 |
В чём отличие оператора == от === ? |
|
| 2 |
Каким образом отложенно по времени запустить выполнение определённой функции? А как сделать запуск функции периодическим по времени? |
|
| 3 |
Как запустить выполнение функции в новом потоке (Thread)? |
|
| 4 |
Чем отличается var от let? |
|
| 5 |
Что такое промисы (Promise)? В чём его преимущество по сравнению с колбеками? |
|
| 6 |
Можно ли отлаживать typescript или специальные форматы файлов от фреймворков типа vue.js, react.js, angular? Какие инструменты для этого есть? |
|
Комплексные вопросы
| № |
Вопрос |
Оценка |
| 1 |
Каким образом реализовать загрузку с сайта файлов с проверкой доступа (через AJAX в SPA)? |
|
| 2 |
Что лучше Single Page Application или Multiple Page Application (with SSR) в плане скорости, объёма трафика? |
|
| 3 |
Каким образом решить проблему низкой производительности и высокого потребления оперативной памяти? |
|
| 4 |
Опишите, что происходит с момента, когда пользователь нажимает на кнопку веб страницы (AJAX), до того, как меняется содержимое страницы? |
|
| 5 |
Каковы перспективы использования Web Assembly? |
|
| 6 |
Как вы относитесь к REST архитектуре? Для чего нужно использовать различные HTTP методы (POST, PUT, DELETE, GET, PATCH) и различные коды HTTP ответов в вашем API? |
|
Вопросы по рабочему процессу
| № |
Вопрос |
Оценка |
| 1 |
Вам была поставлена задача. Время её выполнения оценено в 2 дня. Спустя 1 день вы не приблизились к её решению. Каковы ваши действия? |
|
| 2 |
Вам была поставлена задача. Время её выполнения оценено в 1 день. Вы справились за 2 часа. Другие задач на данный момент у вас нет. Каковы ваши действия? |
|
| 3 |
Вам была поставлена задача “Оптимизировать скорость определённого запроса к СУБД”. Ранее вы с этой БД не работали. Каковы ваши действия? |
|
| 4 |
Насколько приемлемым вы считаете скопировать готовый код со stackoverflow для решения задачи? |
|