Хорошие вопросы об интервью для веб-разработчика Python/TurboGears? [закрытый]

7
задан Ryan Montgomery 9 January 2010 в 17:07
поделиться

4 ответа

В дополнение к хорошим предложениям в других ответах, кое-что, что я всегда люблю спрашивать (у любого, кто является кандидатом на разработку чего-нибудь, что связано с паутиной): "Когда пользователь набирает www.foo.com в адресной строке своего браузера и попадает в ответ, что происходит потом? Пожалуйста, опишите так много или так мало деталей, как вы считаете наилучшим, тогда мы можем углубиться в некоторые или все части ответа".

Помимо используемого фреймворка (фреймворков) на стороне сервера, это может рассказать мне лот о понимании кандидатом других важных технологий, с которыми ему, возможно, придется иметь дело: HTTP и весь стек TCP/IP под ним, DNS, кэши многих и многих других типов (и как они могут иногда мешать и что вы, разработчик, можете попытаться сделать с этим...), видимые с поверхности аспекты технологий браузера, куки, HTML и CSS и, возможно, какой-нибудь Javascript, ...

Да, повседневные технологии, которые мы используем, такие как фреймворки, изо всех сил стараются абстрагироваться от всего этого (и тем самым увеличивают производительность), но применяется Закон о протекающих абстракциях Джоэла Спольского - знание слоев стека, от которых вы обычно абстрагируетесь, имеет решающее значение для подлинного овладения программным ремеслом.

В зависимости от деталей позиции, на которую кандидат проходит собеседование, более глубокие просверливания будут уместны в различных областях. Например, описание (при разумном уровне абстракции) того, как HTTP-запрос получит (через веб сервер и машину Turbogears, возможно, через WSGI) код вашего приложения, примерно то, как ваш код будет изучать запрос и подготавливать ответ, как ответ будет упакован и отправлен обратно в запрашивающий браузер, все это может быть предметом интереса - в зависимости от того, какие обязанности по фронтенду/UI может иметь соответствующий разработчик, больше о том, как браузер будет работать с различными аспектами ответа (включая ссылки на таблицы стилей, скрипты, образы, . ...) также может быть уместным.

Любой может "втиснуть" в конкретную технологию, такую как фреймворк, достаточно, если он достаточно умен, чтобы "втиснуть" интервью в стиле "викторины". Но любой, кто способен дать более открытое, дискурсивное интервью, такое как это, в подавляющем большинстве случаев действительно освоил и понял многие слои соответствующего стека технологий и абстракций - я бы предпочёл нанять кого-то с таким глубоким, глубоким пониманием, даже если он никогда не пользовался Turbogear (а скорее, скажем, Django, Wekrzeug и Web). py) [они смогут втискивать и получать специфические для Turbogear'ов детали внизу пат через неделю, максимум], чем кто-то, кто посвятил себя памяти стека справочников Turbogear'ов, но на самом деле не понимает HTTP, куки, TCP/IP.... (что недостаток займет, по крайней мере, много месяцев).

15
ответ дан 6 December 2019 в 10:00
поделиться

Лучшие вопросы для интервью - это те, которые вы задаете им для решения проблем.

Вот несколько полуслучайных предложений (после FizzBizz теста)

Python

Дайте им нетривиальный проект для реализации в течение недели в домене, где Вы работаете. Однажды я подал заявление в поисковую фирму, и они попросили меня внедрить совместную систему фильтрации.

Области, которые обычно путают, это декораторы, система типов, метаклассы, возможно итераторы. Вы могли бы спросить у них что-нибудь об этих штуках, чтобы прощупать их глубину.

TurboGears

Я не могу много предложить, но вы могли бы опросить их в ORM по их выбору (построить несколько мапперов и запросов), спросить немного о валидации (у меня были некоторые проблемы с получением условной валидации для работы с FormEncode). Вы также могли бы немного побродить по тому, как они будут тестировать приложение, убедиться, что оно масштабируется, проверить его производительность и развернуть его.

2
ответ дан 6 December 2019 в 10:00
поделиться

Не задавайте вопросы. Получите настоящий (возможно, сломанный) код от vcs. Попросите их рассказать вам, как они это исправят / добавят функцию.

Если они могут, попросите их принести образцы предыдущих работ.

1
ответ дан 6 December 2019 в 10:00
поделиться

Помеченный ответ неверен. Application.Exit () - это корректное завершение работы, которое может быть заблокировано параметром обработчика событий FormClosing формы e.Cancel = true. Точным эквивалентом оператора VB End является Environment.Exit (0);

-121--4196191-

G 'da дня,

Чтобы углубиться, я настоятельно рекомендую превосходную книгу Чарльза Петцольда « Code »

Она охватывает больше, чем то, что вы спрашиваете, и все это приводит к лучшему пониманию того, что на самом деле происходит под обложками.

HTH

-121--2921092-

Спросите его:

  • Instrospection
  • Model-View-Control design
  • Documenting tools

Если он знает много об этом, то наверняка знает много о других проблемах.

1
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: