Как успешно пройти техническое интервью на позицию C#/.NET Developer
Вы юный C # /. NET-разработчик и Вас пригласили на первое в карьере техническое интервью? Необходимо подготовиться, освежить свои знания. Поэтому держите небольшой чек-лист для подготовки к собеседованию:
C # /. NET
1. Какие парадигмы Вы знаете?
2. Отличие типов по ссылке и типов по значению
3. Какие значимые типы данных Вы знаете?
4. Boxing, unboxing
5. Отличие абстрактного класса от интерфейса
6. Инкапсуляция
7. Различия наследования и композиции (composition over inheritance)
8. Virtual key word
9. Generic types для чего нужны?
10. Обработка исключений
11. Когда не отрабатывает блок finally?
12. IEnumerable vs IQueryable
13. Ключевое слово Using использования в C #
14. Как устроена под капотом конструкция using?
15. Как устроен под капотом async await?
16. Как устроен yield под капотом?
17. Как устроен foreach под капотом?
18. StringBuilder
19. Task vs Thread
20. Написать один из методов расширения LINQ
21. Dynamic vs Var
22. Memory management (работа GC)
23. Finalizer
24. Паттерн IDisposable
25. Unit of Work
26. Pattern Repository
27. SOLID
28. Какие паттерны проектирования Вы использовали?
29. Что такое CLR?
SQL
1. Join vs Union
2. На каждом собеседовании задачи по join :)
3. Indexers!
4. ACID
5. Транзакции
Ну, и не забывайте, что интервьюеры часто любят задать логические задачки! Вот несколько:
1. Вы находитесь в пустом поезде. Это даже не поезд, а просто вагоны, они сцеплены друг с другом. Все вагоны внутри одинаковы, двери на выход из вагона закрыты, через окна ничего не видно. Вы можете включать и выключать свет в вагоне, в котором находитесь, можете сходить в соседний вагон, там тоже можно включать или выключать свет. Вам известно, что вагоны стоят на кольце и сами сцеплены в кольцо, первый вагон сцеплен с последним, ходить по кругу можно сколько угодно. В момент начала решения задачи в каких-то вагонах свет уже горит, в каких-то — не горит.
Ваша задача при помощи управления светом в вагонах и перемещения по ним узнать сколько в этом кольце вагонов.
2. У вас есть 100 монет по одному рублю. Они все лежат на столе. У вас также есть два носка. Вам нужно распределить все монеты по 2 носкам, так чтобы в одной из них было в два раза больше монет, чем во второй, при этом:
- не разрешается ломать их (они должны остаться целыми);
- надо использовать все 100 монет (прятать нельзя);
- они все одинаковые (по весу, по виду).
3. Каждый может видеть только стоящих перед ним, если ничего не мешает. Первый видит второго и третьего. Второй видит третьего. Третий никого не видит из-за стены. Четвертый тоже никого не видит.
- Они знают, что на них одеты шляпы: две черные и две белые.
- Но никто из них не знает шляпа какого цвета одета на нем самом.
Перед ними поставлена задача узнать про цвет своей шляпы. На свою шляпу смотреть нельзя, назад смотреть тоже нельзя.
Вопрос: Кто из них в данной ситуации может узнать цвет своей шляпы?