четверг, 27 августа 2015 г.

Снова Garbage Collector

Начал потихоньку искать новую работу. Возможно, по контракту. Всё хорошо здесь, но шесть лет на одном месте - немало. Хочется уже чего-то новенького.

И снова, снова обрушивается на меня поток вопросов про алгоритм работы сборщика мусора в .NET. Не просто "что это такое", а глубокие вопросы, достойные Джеффри Рихтера: как оно работает на разных процессорах, что менялось в зависимости от версии фреймворка и т.д. А ведь 11 лет назад, когда я начинал изучать .NET, считалось, что одно из главных преимуществ этой платформы именно в том, что программистам больше не придется думать об очистке памяти. Бери, что надо, а оно потом само очистится. И, тем не менее, редкое собеседование обходится без этих вопросов. И ещё классика: "Чем value types отличаются от reference types?"

Конечно, есть ситуации, когда надо выжимать из компьютера всё. Но в этом случае, возможно, стоит переписать критический код на C++?

1 комментарий:

Bashir Magomedov комментирует...

Я никогда этого вопроса не задаю :)
Мой любимый вопрос с которого я начинаю это про стек и кучу - где будет храниться структура объявленная полем класса - многих клинит.
Спрашиваю разницу между ивентами и делегатами. Что такое стэкоферфлов и как его можно по быстрому добиться? За счет чего можно снизить число параметров передаваемых в конструктор? В чем разница между this в сишарпе и в джаваскрипте. Что такое колбэк и кложа в сишарпе и джаваскрипте.
Насчет базы данных сначала спрашиваю про то как можно организовать иерархию на простом примере сотрудников организации. Если выдают таблицу ссылающуюся на саму себя, то прошу написать пару селф-джойнов, чтобы проверить, что понимают. Если предлагают hierarchyid, то тоже предлагаю пару вопросов, типа а-ну как выдай мне всех кто репортит Мэри :)... Потом на индексы спрашиваю и хеш луп джойны, статс. экезекьюшн план и т.д.
Билив ми о нот, но 90% не отвечают и на половину. Кто отвечает процентов на 90% - тех мы сразу берем :)

Ratings by outbrain