Примеры кода

Вопросы для собеседования на позицию разработчика

Имя кандидата на вакансию:

Общие вопросы

Вопрос Оценка
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 для решения задачи?