|
|
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Решил поделиться набором отличных вопросов для собеседования java (естественно :) программистов. Возможно кому-то будет полезно. Все вопросы протестированы на реальных кандидатах и обычно заканчивались эпик фейлами самих собеседующих. Дополнения приветствуются! :) 1. Чем отличаются технологии: XSL от SSL XML от DML RDP от SDP VCS от CSS JCP от JSP EJB от ESB ORM от BPM AOP от ARP Spring IOC от RUP IOC MVC от RPC Ant от Gantt JSF от SPF SIP от RIP JEE от JRE 2. Продолжите ряд: 1С, 2PC, 3PCC, PPC, ? 3. Что в bash значат команды: . .. ... 4. Как получить deadlock с одним тредом? 5. Я работаю в пределах одной JVM, ни с кем за её пределами не взаимодействую и использую JTA. Может ли у меня быть распределённая транзакция? 6. Известно, что 2х фазный коммит сходится к одному значению (в том смысле, что при любом раскладе исход на всех нодах будет либо везде commit, либо везде rollback), а 3х фазный коммит - нет. Можно ли сказать, что все процедуры коммита, в которых число фаз - степень двойки - надёжны? 7. Вы производили операцию типа 2*2 и записали результат в переменную, после этого обратились к переменной и прочли оттуда неожиданный результат (например 7). Как такое может быть? 8. Кейс тот же, что и в предыдущем случае, но теперь известно, что код написан правильно. Как такое может быть? 9. Кейс тот же, что и в предыдущем случае, но теперь вы поставили таки наконец на сервер ECC память. Как такое может быть? :) 10. Клиент из Москвы с каналом 5Мбит качает файло с сервера из Владивостока по http. Скорость получается 1Мбит. Тогда клиент начинает качать этот файло в 5 потоков и скорость становится 5Мбит. Почему? 11. Почему в предыдущем вопросе ошибка? :) 12. Java memory model по сути говорит о том, что модификатор volatile нужен, чтобы значения не застревали в кеше процессора, а то можно что-то не то прочесть. Но почему обычно будет работать и без volatile? 13. Почему в предыдущем вопросе ошибка и не будет работать без volatile? 14. Почему в предыдущем пункте тоже ошибка и всё таки будет работать без volatile на x86 архитектуре даже с многопроцессорной среде? 15. Почему и в предыдущем пункте тоже ошибка и всё равно не будет работать без volatile на х86 архитектуре в многопроцессорной среде? 16. Почему всё предыдущее обсуждение про volatile не имеет особого смысла и всегда надо ставить volatile? :) 17. Я написал в коде критическую секцию в которой читаю переменную и пишу в лог, потом выполняю различный код, делаю инкремент переменной, снова читаю её значение и пишу в лог. Один мой поток распечатал знчения 4, потом 8. Известно что в другом коде значение переменной не меняется. Как такое может быть? 18. Какая работа с сокетами быстрее - синхронная или асинхронная? 19. "У вас есть датацентр, здесь MPLS, тут вот 3 uplink'а, как настроить BGP, чтобы ... Ааа, говорите вы java разработчик? Я наверное резюме не то взял, секунду... " 21. "... Вот, теперь всё в порядке. Тогда такой вопрос - как работает RED router? Что значит вопрос не по теме? Вот у вас же написано - java web разработчик, вы же должны знать как ваш этот html доходит до клиента по сети. А если на сети congestion? Кстати, какие tcp congestion avoidance алгоритмы знаете?" 22. Вы открываете сайт по https. Какие именно данные шифруются? 23. Вы настроили прокси у себя в браузере, открываете https://google.com. Может ли прокси смотреть ваш трафик? 24. Повторяете предыдущий пример на рабочем месте, через местный корпоративный браузер и прокси, оказывается, может просмотреть ваш трафик (вот сцуко!). Как? 25. С помощью kill -3 можно сделать организовать poormansprofiler для java (sampling profiler), который будет теоритически так же точен как и профилирование через инструментацию? 26. Ладно, но с помощью gdb то уж точно можно такое сделать? 27. Проводились нагрузочные тесты приложения, результат 100 transactions per second. Команда посмотрела какие sql запросы тормозят, оказалось некоторые из них вообще не нужны (не критичны для бизнес-кода). И запросы просто потёрли из сорс кода. Больше никаких изменений точно не было, оборудование не менялось. Провели нагрузочное тестирование заново, результат - 70 tps. Как такое может быть? 28. Если в базе данных commit с fsync, то он durable. Или? 29. В java нет hot redeploy классов. Да-да, конечно же можно использовать разные класслоадеры, но это надо совершать кое-какие усилия. А как тогда работает java rebel? 30. Ну и наконец коронный вопрос от HR: с каким животным вы себя ассоциируете? :) PS Многим почему-то кажется, что в некоторых вопросах есть какой-то подвох :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 11:32:46 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
серьёзно. какая медиана у отвечающих на вопросы и какой по-вашему процент должен быть для mid/senior/lead? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 13:13:28 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
За исключением некоторых вопросов в середине по многопоточности, я бы не стал тратить время на прохождение такого собеседования, ну разве что между делом при хорошем настроении обоих участников можно задать кое-что, так ради шутки или чтобы проверить реакцию, мне например пох если я буду собеседовать java-девелопера и он будет знать 'Если в базе данных commit с fsync, то он durable. Или?' или виртуозно владеть bash, но не знать как в сервлете получить сессию(были кстати такие экземпляры) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 13:38:54 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Alexey Lapustaсерьёзно. какая медиана у отвечающих на вопросы и какой по-вашему процент должен быть для mid/senior/lead? Обычно отвечают либо на 0% вопросов, либо >50%. Т.е. либо человеку интересна платформа в целом и тогда он много читает в этом направлении, либо нет. Медиана естественно 0% :) Градацию mid/senior мы не применяем. П смотрим не страшно ли человеку доверить какую-то работу. Если не страшно, то все равны :) забыл никЗа исключением некоторых вопросов в середине по многопоточности, я бы не стал тратить время на прохождение такого собеседования, ну разве что между делом при хорошем настроении обоих участников можно задать кое-что, так ради шутки или чтобы проверить реакцию, мне например пох если я буду собеседовать java-девелопера и он будет знать 'Если в базе данных commit с fsync, то он durable. Или?' или виртуозно владеть bash, но не знать как в сервлете получить сессию(были кстати такие экземпляры) Традиционные вопросы по java мы тоже конечно задаём, но они достаточно обычные и не такие весёлые :) Нам просто требуются специфические люди, типа google SRE. Ну а поскольку мы в основном пишем на java, то все эти вопросы и сыпятся на обычных, ничего не подозревающих java разработчиков :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 15:28:41 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
rrrrrrrr, 4. Как получить deadlock с одним тредом? А разве в java есть не локи, не поддерживающие reentrancy? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 15:28:54 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
schwarrrrrrrr, 4. Как получить deadlock с одним тредом? А разве в java есть не локи, не поддерживающие reentrancy? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 15:29:59 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
schwarrrrrrrr, 4. Как получить deadlock с одним тредом? А разве в java есть не локи, не поддерживающие reentrancy? На самом деле все вопросы с подвохом, потому что они исключительно практические. Т.е. если в вопросе не сказано обратное, то надо рассматривать самый-самый общий случай, который может быть в реальной жизни. Большая часть вопросов родилась как раз из опыта правки местных багов. Основано на реальных событиях, так сказать. По этому пункту - не pure java имеется в виду, а тупой способ накосячить в j2ee-style environment. Например, обрабатывая http запрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 15:33:39 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
rrrrrrrrschwarrrrrrrr, 4. Как получить deadlock с одним тредом? А разве в java есть не локи, не поддерживающие reentrancy? На самом деле все вопросы с подвохом, потому что они исключительно практические. Т.е. если в вопросе не сказано обратное, то надо рассматривать самый-самый общий случай, который может быть в реальной жизни. Большая часть вопросов родилась как раз из опыта правки местных багов. Основано на реальных событиях, так сказать. По этому пункту - не pure java имеется в виду, а тупой способ накосячить в j2ee-style environment. Например, обрабатывая http запрос :) То есть такой ответы вы бы не засчитали? Как бы тоже ответ. p.s. судя по 7-9 у вас очень веселый енвайрномент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 15:50:44 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
schwaТо есть такой ответы вы бы не засчитали? Как бы тоже ответ. p.s. судя по 7-9 у вас очень веселый енвайрномент. На многие из этих вопросов нет единого правильного ответа, просто повод подискутировать о возможных вариантах. Любой, физически работающий вариант - это хорошо. А если несколько - ещё лучше ) С 7-9 мы, слава богу, пока не встречались, но были близко. Эти вопросы по мотивам видео про google SRE с какой-то там конференции :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 16:15:51 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Ну на самом деле такие кейсы неоднозначные и скажем так редковстречающиеся, и человеку со стороны сразу ответить что-то толковое трудно(без кода, без совета с товарищами кто писал и знает зачем и как, а вдруг он бы вообще не довел до этого, а вы тупо накосячили, и решаете несуществующую проблему?) Горзадо лучше спросить у человека - какие хитрые задачи\кейсы вы встречали в последнее время и как с этим боролись? Ну допустим по многопоточности, и именно по этому вопросу я часто понимаю как минимум роль человека на предыдущих проектах, если ему нечего рассказать - ну значит не доверяли и т.п. Если рассказал и обьяснил как решал - ок, цель достигнута, можно делать выводы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 16:46:15 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Это не вопросы с подвохом. Это темы для дискуссий. А всё что связано с сетями и протоколами и unix - вообще идёт мимо java. Тоесть конечно-же можно их ставить на собеседовение но я-бы воздержался. Это очень специфично IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2012, 17:18:17 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
забыл никГорзадо лучше спросить у человека - какие хитрые задачи\кейсы вы встречали в последнее время и как с этим боролись? Ну допустим по многопоточности, и именно по этому вопросу я часто понимаю как минимум роль человека на предыдущих проектах, если ему нечего рассказать - ну значит не доверяли и т.п. Если рассказал и обьяснил как решал - ок, цель достигнута, можно делать выводы Хороший подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 10:54:54 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
maytonЭто не вопросы с подвохом. Это темы для дискуссий. А всё что связано с сетями и протоколами и unix - вообще идёт мимо java. Тоесть конечно-же можно их ставить на собеседовение но я-бы воздержался. Это очень специфично IMHO. тоже не совсем понял кучу тупых вопросов... Оказывается на вопрос про дедлок правильным ответом будет обработка хттп запроса в j2ee... Гениально..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 11:21:28 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Что такое Java? Остров в океане, мотоцикл, кофе, язык программирования. Нужное подчеркнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 11:23:21 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
ShSergeЧто такое Java? Остров в океане, мотоцикл, кофе, язык программирования. Нужное подчеркнуть. Лучше так: Что такое Ява? Остров в океане, мотоцикл, кофе, язык программирования. Нужное подчеркнуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 16:48:39 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
rrrrrrrrРешил поделиться набором отличных вопросов для собеседования java (естественно :) программистов. Возможно кому-то будет полезно. Я понял, про какие собеседования говорят "сидят самоуверенные задроты". Вы уж извините. Но спрашивать Код: plaintext 1. В целом вопросы показывают позицию "Какие мы тут умные сидим, вот как много чего знаем!". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 16:51:52 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Leonidv, собеседуюя веб разработчиков, я обычно спрашиваю чем гет отличается от поста. сразу 70% кандидатов отсеиваются (дада, http - это вам не css рисовать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 16:59:37 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Penkov VladimirLeonidv, собеседуюя веб разработчиков, я обычно спрашиваю чем гет отличается от поста. сразу 70% кандидатов отсеиваются (дада, http - это вам не css рисовать) +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 02:30:28 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Penkov VladimirLeonidv, собеседуюя веб разработчиков, я обычно спрашиваю чем гет отличается от поста. сразу 70% кандидатов отсеиваются (дада, http - это вам не css рисовать) Ну и я бы спросил. http протокол прикладного уровня, его разработчико прикладного ПО знать должен. Но ниже TCP/IP Java программисту смысла спускаться нет. Это уже работа сисадмина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 06:50:54 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
LeonidvPenkov VladimirLeonidv, собеседуюя веб разработчиков, я обычно спрашиваю чем гет отличается от поста. сразу 70% кандидатов отсеиваются (дада, http - это вам не css рисовать) Ну и я бы спросил. http протокол прикладного уровня, его разработчико прикладного ПО знать должен. Но ниже TCP/IP Java программисту смысла спускаться нет. Это уже работа сисадмина. Зависит от сферы. Мы например видео через flash гоняем. Приходится разбираться с тем, как ходят данные по сетям и дописывать кое какой код, а медиа сервер на java. Поэтому кому то из разработчиков в такой ситуации нужно знать сети - либо флерешу, либо джависту. Иначе как же собственный код тестировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:22:30 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
rrrrrrrrЗависит от сферы. Мы например видео через flash гоняем. Приходится разбираться с тем, как ходят данные по сетям и дописывать кое какой код, а медиа сервер на java. Поэтому кому то из разработчиков в такой ситуации нужно знать сети - либо флерешу, либо джависту. Иначе как же собственный код тестировать? Если у вас уже есть специалисты в этой области, то и новый коллега подтянется. На собеседование можно просто спросить о знание специфика передачи видео по сети и если кандидат заявляет о знаниях, соответственно спрашивать подробней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:28:04 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
LeonidvЕсли у вас уже есть специалисты в этой области, то и новый коллега подтянется. На собеседование можно просто спросить о знание специфика передачи видео по сети и если кандидат заявляет о знаниях, соответственно спрашивать подробней. Мой пост был ответом на фразу про "ниже тсп программист знать не должен". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:43:13 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
rrrrrrrrМой пост был ответом на фразу про "ниже тсп программист знать не должен". Я не писал такого. Я написал, что Java-программисту смысла спускаться ниже TCP нет. Потому что уровень ниже транспортного - это вопросы в сисадминам в первую очередь. Знание протоколов ниже TCP не показывает уровень java-программиста. Если человек грамотный специалист, то коллеги его в низкоуровневых сетевых протоколах подтянут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:58:50 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
Добрый день, rrrrrrrr! > Решил поделиться набором отличных вопросов для собеседования java > (естественно :) программистов. Возможно кому-то будет полезно. А смысл? Программист обязан знать, что такое SPF? Вот задача "вставить элемент в упорядоченный список" только что снесла мозг соискателю. Вот это интересное зрелище. А эти вопросы- всегда можно сказать, что копался в другом углу :) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:25:15 |
|
||
|
Вопросы для собеседования (с подвохом! :)
|
|||
|---|---|---|---|
|
#18+
[quot Leonidv]rrrrrrrrЗнание протоколов ниже TCP не показывает уровень java-программиста. Если человек грамотный специалист, то коллеги его в низкоуровневых сетевых протоколах подтянут. В конце концов, сам разберется - погуглит, поридфакмануалит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:27:25 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=247&tid=2130092]: |
0ms |
get settings: |
19ms |
get forum list: |
25ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
42ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
| others: | 317ms |
| total: | 534ms |

| 0 / 0 |
