В дополнение к хорошим предложениям в других ответах, кое-что, что я всегда люблю спрашивать (у любого, кто является кандидатом на разработку чего-нибудь, что связано с паутиной): "Когда пользователь набирает www.foo.com в адресной строке своего браузера и попадает в ответ, что происходит потом? Пожалуйста, опишите так много или так мало деталей, как вы считаете наилучшим, тогда мы можем углубиться в некоторые или все части ответа".
Помимо используемого фреймворка (фреймворков) на стороне сервера, это может рассказать мне лот о понимании кандидатом других важных технологий, с которыми ему, возможно, придется иметь дело: HTTP и весь стек TCP/IP под ним, DNS, кэши многих и многих других типов (и как они могут иногда мешать и что вы, разработчик, можете попытаться сделать с этим...), видимые с поверхности аспекты технологий браузера, куки, HTML и CSS и, возможно, какой-нибудь Javascript, ...
Да, повседневные технологии, которые мы используем, такие как фреймворки, изо всех сил стараются абстрагироваться от всего этого (и тем самым увеличивают производительность), но применяется Закон о протекающих абстракциях Джоэла Спольского - знание слоев стека, от которых вы обычно абстрагируетесь, имеет решающее значение для подлинного овладения программным ремеслом.
В зависимости от деталей позиции, на которую кандидат проходит собеседование, более глубокие просверливания будут уместны в различных областях. Например, описание (при разумном уровне абстракции) того, как HTTP-запрос получит (через веб сервер и машину Turbogears, возможно, через WSGI) код вашего приложения, примерно то, как ваш код будет изучать запрос и подготавливать ответ, как ответ будет упакован и отправлен обратно в запрашивающий браузер, все это может быть предметом интереса - в зависимости от того, какие обязанности по фронтенду/UI может иметь соответствующий разработчик, больше о том, как браузер будет работать с различными аспектами ответа (включая ссылки на таблицы стилей, скрипты, образы, . ...) также может быть уместным.
Любой может "втиснуть" в конкретную технологию, такую как фреймворк, достаточно, если он достаточно умен, чтобы "втиснуть" интервью в стиле "викторины". Но любой, кто способен дать более открытое, дискурсивное интервью, такое как это, в подавляющем большинстве случаев действительно освоил и понял многие слои соответствующего стека технологий и абстракций - я бы предпочёл нанять кого-то с таким глубоким, глубоким пониманием, даже если он никогда не пользовался Turbogear (а скорее, скажем, Django, Wekrzeug и Web). py) [они смогут втискивать и получать специфические для Turbogear'ов детали внизу пат через неделю, максимум], чем кто-то, кто посвятил себя памяти стека справочников Turbogear'ов, но на самом деле не понимает HTTP, куки, TCP/IP.... (что недостаток займет, по крайней мере, много месяцев).
Лучшие вопросы для интервью - это те, которые вы задаете им для решения проблем.
Вот несколько полуслучайных предложений (после FizzBizz теста)
Дайте им нетривиальный проект для реализации в течение недели в домене, где Вы работаете. Однажды я подал заявление в поисковую фирму, и они попросили меня внедрить совместную систему фильтрации.
Области, которые обычно путают, это декораторы, система типов, метаклассы, возможно итераторы. Вы могли бы спросить у них что-нибудь об этих штуках, чтобы прощупать их глубину.
Я не могу много предложить, но вы могли бы опросить их в ORM по их выбору (построить несколько мапперов и запросов), спросить немного о валидации (у меня были некоторые проблемы с получением условной валидации для работы с FormEncode). Вы также могли бы немного побродить по тому, как они будут тестировать приложение, убедиться, что оно масштабируется, проверить его производительность и развернуть его.
Не задавайте вопросы. Получите настоящий (возможно, сломанный) код от vcs. Попросите их рассказать вам, как они это исправят / добавят функцию.
Если они могут, попросите их принести образцы предыдущих работ.
Помеченный ответ неверен. Application.Exit () - это корректное завершение работы, которое может быть заблокировано параметром обработчика событий FormClosing формы e.Cancel = true. Точным эквивалентом оператора VB End является Environment.Exit (0);
-121--4196191-G 'da дня,
Чтобы углубиться, я настоятельно рекомендую превосходную книгу Чарльза Петцольда « Code »
Она охватывает больше, чем то, что вы спрашиваете, и все это приводит к лучшему пониманию того, что на самом деле происходит под обложками.
HTH
-121--2921092-Спросите его:
Если он знает много об этом, то наверняка знает много о других проблемах.