Как Вы проверяете программиста

Добрый день этот пост адресован всем, кто лично проводит технические собеседования и берёт программистов на работу.

Я учу людей программировать на Java и помогаю попасть на первую работу. Сейчас я планирую добавить на сайт раздел, где каждый смог бы проверить свои знания и техническую подготовку решая интересные задачки.

Я сам раньше проводил много собеседований и знаю, что у каждого из вас есть как минимум 3-5 интересных заданий чтобы быстро проверить желающих поработать :)

Прошу вас поделиться и прислать мне свои задачки в виде:

Задача:
Если решил: мой вывод
Если не решил: мой вывод

Основные темы: алгоритмы и логика независящие от языка + java core.
Остальное на ваше усмотрение из стека java

Пожалуйста присылайте только свои собственные задачи, которые помогают оценить реальные практические знания в какой-либо области и отвечают требованиям ниже. Например, в зависимости от выбора коллекции мы понимаем на сколько человек знаком с особенностями их работы.

* Задача должна соответствовать реальной жизни
* Если эта задача по java — я должен писать код

Все задачи перед публикацией будут тщательно проверены. Все «нереальные задания» типа компилируется ли код или какой из вариантов правильный будут отсеяны без рассмотрения.

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

Я и все те ребята и девушки, которые мечтают обрести профессию будем благодарны вам всю оставшуюся жизнь.

Естественно все задания будут опубликованы со ссылкой на автора. Если не сложно отправляйте их на почту oyu@midgardabc.com с пометкой [задачи dou].

Спасибо,
— 
C уважением,
Олег Ющенко

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Лучшие комментарии пропустить

Я учу людей программировать на Java и помогаю попасть на первую работу.
Головач 2.0, пожалуйста, не засырайте ДОУ маркетинговыми темками еще и вы.
------------------------------
Задача:
Если решил: мой вывод
Если не решил: мой вывод
В реальном мире лучше не делать выводы по конкретным задачам, а смотреть «в целом». Человек может «не решить» важные задачи, но вы просто видите что надо брать (все что не занет, выучит). Или все ответил и опыт есть, но вот что-то не так. Особо актуален такой подход к джунам.
Может кому-то будет полезно:
Как Вы проверяете программиста
dou.ua/...ums/topic/3419

Даешь человеку ноут с установленным ide и просишь написать класс Version и требования, поддержка версий X.X.X, чтобы можно было сравнить с X.X и т.д
через полчаса смотришь что получилось.
кто то быстро код настрочит, но некрасивый, кто-то и юнит тесты сначала напишет, кто-то comparable не забудет и еще много чего. Интересно наблюдать, как человек может свое время распределять, на планирование, на дизайн. Обсуждение кода, мное может рассказать, кто перед тобой. И да, я не расчитываю что кто-то напишет за полчала продакшн код, но он мне должен рассказать что еще надо сделать и как.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Спрашиваю загадку про два стула.
p.s. Одноглазым еще никто не уходил.

Спрашиваю, что он ставит возле себя на ночь. Беру только тех, кто ставит возле себя два стакана: один с водой на случай, если захочет пить, и второй пустой на случай, если не захочет.

а если будильник справа чтоб не проспать, и небудильник слева потому что пофиг ? :)))

Вопросы на собеседовании для Java Developer
ru-java.livejournal.com/1092457.html

Как там уже написали в комментариях, собеседуемый имел дело с человеком безусловно опасным и без сомнения тяжело больным.

Помоему все ОК, я бы на процентов 80% нашелся что сказать, с остальными просто не работал(например флекс). Еще нужно учесть что это все прошло через призму восприятия испытуемого. Но вопросы вполне грамотные ИМХО, если человека ищут с определенными скилами.

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

нормальные вполне вопросы. Особенно если не ожидать что на все будут зазубренные ответы.

Нормальные такие вопросы, я процентов 70 встречал на собеседованиях.

А все-таки, какой дефолтный маппинг в hibernate в случае наследования? :)

О, класс! А как ответить на этот вопрос?
Как в случае наследования мы можем мапить базу на бины?

И вы считаете это сложным вопросом? Вопрос конечно не для джуна, но нормальный мидл обязан знать.
И опять же насчет формулировки. Что значит мапить базу на бины?
Вроди бы наоборот. И если в таком виде вас спросить на собеседовании, то с некоторой вероятностью (из-за возможной тревожности. чтобы вы не говорили она есть. А если говорите, что вообще себя чувствуете спокойно — нагло врете) у вас случиться небольшой ступор.

Вообще-то это вопрос для джуна у которого в резюме написано хибернейт, а аноним просто троллит.

Пока не встречал джунов, которые это знали. Да если чесно далеко не все мидли отвечают (к несчастью).

Хз, меня при собеседовании на джуна спрашивали.

p.s. Хотя многие спецификации не читают

формулировка вопросов немного идиотская. На часть вопросов после прочтения несколько раз становиться понятно, что спрашивают.

Как Вы проверяете программиста?
Спрашиваю рекомендации. О джунах — в институте, об опытных работниках — с предыдущих мест работы. Все остальное — формальности и философия.
Спрашиваю рекомендации. О джунах — в институте, об опытных работниках — с предыдущих мест работы.
Вас надо найти и наказать :)
Какие рекомендации о джуне из ВУЗа? От кого?
От сокурсником? Так это не авторитет.
От преподов? Так тут ситуация такая что наличие рекомендации у человека — это как раз более рискованный вариант. В современных реалиях, такие рекомендации вполне могут означать «непреспособленность человека к жизни вне ВУЗа».
Рекомендации с предидущих мест для не джуна, рылли? У хорошего спеца, скорее всего, нет предыдущих мест на которых он работал не очень давно. Зачем надо рекомендации 3-5 (а то и больше) летней давности? А спрашивая рекомендации у текущего работодателя, вы подставляете человека, ведь вы еще не знаете сообщил ли он о намерении уходить текущему работодателю.
Все остальное — формальности и философия.
Не формальности и не философия — это __испытательный срок__. А вот рекомендации (тем более в Украинском ИТ, где они обесценены чуть ли не в 0) — это как раз формальность и фантазия.
об опытных работниках — с предыдущих мест работы.
Ничего страшного, что человек возможно ищет анонимно?

А расскажите поподробнее про рекомендации. Я вижу это возможным только в случае, если человек сам предоставляет(письма, linkedIn, контакты). Однако, можно ли такому доверять?

2012.404fest.ru/.../cost-of-error

вот тут человек рассказывает, про такое же, но в контексте наемных средне и низко квалифицированных работников.
Говорит, что работает.

Ну по идее, рекомендации были бы интересны для топовых спецов (ошибиться с джуном — не беда, да и много натворить он не успеет)

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

Видео шикарное, но о рекомендациях идет речь как раз для топ-ов.

Для топов она — обязательна, для остальных — желательна.
Как-то так я понял посыл

Рекомендации очень распространены в западном мире, особенно во всяких эуропах.
Иногда это является формальностью, а иногда сотрудник даже вправе потребовать рекомендацию. Написать туда правду-матку нельзя, поэтому читающим рекомендации надо учиться читать между строк и разбирать подтекст.

Ну да, ты напиши, я роспишусь — это мы проходили.
Однако автор явно имеет ввиду реальный контакт с бывшим работодателем, а не письмо.

Спрашиваю рекомендации. О джунах — в институте, об опытных работниках — с предыдущих мест работы. Все остальное — формальности и философия.

Следуя логике — джунам и опытным работникам прежде чем начинать сотрудничество с компанией следует как можно больше узнать подробностей в интернете на сайтах с отзывами (?)

54 комментария и только один в более и менее тему Vitaliy Ryumshyn — спасибо.

Я, дурак, думал если задать какой-то вопрос — то тебе на него же и ответят. Ан нет, умные люди создадут в комментариях 10 новых тем, совершенно не имеющих отношения к Вопросу поста и начнут их между собой обсуждать.

Продолжайте дальше, а я, пожалуй, займусь подготовкой вопросов самостоятельно.

А потом Вы удивляетесь — почему Вас не любят на Доу;)
blog.midgardabc.com/...-1/#comment-110

Я, дурак, думал если задать какой-то вопрос — то тебе на него же и ответят.
Вы не нестандартный, а просто занудный. Вы просите задачи, ещё выставляете к ним требования, говорите что некоторые задачи даже будут выкинуты без рассмотрения. Это получается целый конкурс у Олега Ющенко, все должны, расталкивая локтями друг друга, как можно быстрее предоставить минимум 3-5 заданий. И ещё говорите, что их самому придумать невозможно, но ведь кто-то не ленился, и сделал их. Кто-то реальный, даже, вероятно, под свои нужды и только свои сделал эти задачи и только для себя.

Я, вот, например, всегда даю задачи на битхаки (язык по-боку), ну, например, переведите цвет в формате RGB565 в RGBA8888 наиболее точно, маски битов цветовых компонент такие: RGB565 (2 байта): RRRRRGGGGGGBBBBB, RGBA8888 (4 байта): RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA. Если не решил, то не умеет думать, если решил не до конца или неправильно, то не умеет думать правильно, если решил, то молодец. Чем вам поможет эта задача?

С публикацией ответов на задачи будет то же самое, что и с массово напечатанной гривней — она обесценится. Вместо этих задач всё равно придут новые, т.к. работодателям не нужны успешные прохождения интервью, а, как ранее говорили, кадры, которые умеют думать головой.

Зря вы джунов недооцениваете, вполне можно было попросить на листочке
конвертнуть какой-нибудь YUV422 в RGB888 например, а то RGB в RGB как-то несерьезно ...

Исходная задача с небольшим подвохом, и в зависимости от предоставленного решения вызывает дополнительные вопросы :) И вопрос, кстати, совсем не для джунов. Я вот недавно схлестнулся с разработчиками BeagleBone Black, которые допустили схемотехническую багу и долго не хотели её признавать, связанную с такой конверсией. А YUV<->RGB просто перемножение матрицы на вектор, где коэффициенты матрицы я бы не рискнул спрашивать наизусть, т.к. сам их не помню, т.е. максимум что я получу — это то, что человек может умножить матрицу 4×3 на вектор x3.

Интересно где подвох, допустим для RGB565 > RGB888,

R=(((R+1)*256)/32)-1
G=(((G+1)*256)/64)-1
B=(((B+1)*256)/32)-1

Правда шкала цветности в данном примере начинается со значений черный (7:3:7) и до (255:255:255)-белый, для более точного алгоритма — надо подумать :)

В случае ПЛИСки похожая комбинация из операций побитового сдвига и сложения.

которые допустили схемотехническую багу и долго не хотели её признавать, связанную с такой конверсией

какого рода ошибка, просто дополнили «обнуленными» младшими разрядами / либо продублировали (?) ( Если не под NDA конечно же :) )

ха, нашел подвох ...

R=(((R+1)*263)/32)-8
G=(((G+1)*259)/64)-4
B=(((B+1)*263)/32)-8

теперь полная шкала 0,0,0-255,255,255. Действительно интересная задачка оказалась ...

Почти всё правильно (правильно — про найденный подвох, и вы первый, кто предложил такой способ! :)), но делать три умножения для каждого пикселя — это очень накладно в случае, если мы, например, закружаем RGB565 текстуру в память для OpenGL ES драйвера и храним её в нативном для не очень быстрого железа формате. 2048×2048×3 = 12 млн раз. Когда я говорил про битхаки, то имел в виду только логические по-битовые операции. Например, можно было переделать ваш способ в сдвиг плюс арифметическое сложение, если бы множители раскладывались на мелкие множители кратные 2 и 3 в свою очередь. А получается, что 263 простое число, а 259 — это 7*37, что тоже не очень. Хотя вроде не всё так плохо, до ближайшей степени двойки у каждого числа не очень большое расстояние:
A*3 = (A<<1)+A
A*7=A*3+A*4=(A<<2)+(A<<1)+A,
A*263=A*256+A*7=(A<<8)+(A<<2)+(A<<1)+A.
A*259=A*256+A*3 = (A<<8)+(A<<1)+A.

Про биглбоун — они «поленились» развести 8 бит на цвет и развели на плате только 16 бит линий от LCD контроллера, то когда их подключили к HDMI трансмиттеру, то просто убрали младшие биты и сделали чёрный чёрным, а белый таким себе грязноватым белым. Есть кастомер, который мне проел мозг по поводу блёклых цветов, у него какие-то интересные мониторы стоят на объектах, которые вывод биглбона покывают сильно блёкловатым, там идёт конверсия microHDMI<->DVI-D<->DSUB. И видать при конвертации в DSUB аналоговый уровень сигнала не очень высок. На обычном мониторе это тоже видно, особенно если подключить к одному монитору сразу два цифровых видеовыхода с одной картинкой и переключаться между ними, но не так сильно бросается в глаза, хотя я увидел разницу и теперь вижу её всегда :) Мы попробовали сделать младшие биты единицей, чтобы чёрный перестал быть чёрным, но был хороший белый, то картинка улучшилась, но всё равно недостаточно, видать в DSUB конвертере происходит что-то не совсем как надо..

Вообще при решении задачи, я обычно ожидаю увидеть дублирование битов из старших разрядов в младшие, типичный способ. Например. если мы дублируем старшие три бита в младшие в таком виде для каждой восьмибитовой компоненты: R:76543765 G:76543276 B:76543765, то мы получаем чёрный чёрным и белый цвет белым, но возникает вопрос линейности цветового инкремента, т.е. если мы нарисовали в RGB565 красивый ровный градиент, на сколько это возможно в RGB565, то в RGB888 получим неравномерную лесенку. Если человек решает задачу этим способом, то дальше задаётся вопрос, что можно сделать, для того, чтобы убрать нелинейность, насколько это возможно, но сохранив алгоритм быстрым.

По поводу нелинейности, возьмём произвольный отрезок и посмотрим инкремент по каждому шагу (вначале будет инкремент равный 8 довольно долгое время, а потом начнёт постепенно увеличиваться):

01011 010 5A
01100 011 63 +9
01101 011 6B +8
01110 011 73 +8
01111 011 7B +8
10000 100 84 +9
10001 100 8С +8
10010 100 94 +8

По поводу нелинейности, возьмём произвольный отрезок и посмотрим инкремент по каждому шагу (вначале будет инкремент равный 8 довольно долгое время, а потом начнёт постепенно увеличиваться):
Уже не могу изменить комментарий. Цель этого действия посмотреть знал ли человек ответ заранее или нет. Если согласно кивает головой, то знал ответ, если начинает спорить, то реально понимает, что он делает :)

Значит нужна и точность и скорость (?), все и сразу ...

Oк, итого — уход от операций деления и умножения через сложение и побитовый сдвиг. Операцию вычитания
аналогично заменяем на сложение ( игнорируя разряд overflow для 8-бит регистра)

Пишем маленький модуль под CUDA в котором всего 2 типа операций: сложение и побитовый сдвиг.
в результате получаем одну операцию конверсии через GPU / за 1 такт ...

ну а процессору остается задача по загрузке исходных данных и вычитке результата,
cudaMemcpy(...); // Загружаем RGB565
/* */
cudaMemcpy(...); // Вычитка RGB888

В FPGA аналогично, вся процедура конвертации происходит за один такт.

С нелинейностью при дублировании младших разрядов как-нибудь поиграюсь на досуге, кстати спасибо за увлекательные задачки!

Значит нужна и точность и скорость (?), все и сразу ...
Всё, как всегда :)))
Пишем маленький модуль под CUDA в котором всего 2 типа операций: сложение и побитовый сдвиг.
Обычно такое пишется под специфический, часто мобильный, GPU, где CUDA не бывает :) Но то такое.
С нелинейностью при дублировании младших разрядов как-нибудь поиграюсь на досуге, кстати спасибо за увлекательные задачки!
Там я написал ремарку, что это подвох, нелинейность и неравномерность есть, но неё можно забить. Это просто для того, чтобы решающий задачу смог это доказать :)

Oh, Holy shit!
Святые угодники типа...)

А кому норма жизни :)))

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

Олег, хочешь знать как на самом деле — прийди к ним в офис и спроси. А то и вовсе откликнись на вакансию.

Тебя же наверняка «лидеры рынка» интересуют? Просто договорись с ними за интервью, сходи к ним. У них целые отделы эйчаров, а значить есть и руководство. Которое само собой любит положительно попиариться.

Пока на собеседованиях будут задавать дурацкие вопросы, вроде «С чего вы взяли, что вы хороший программист?», до тех пор будут существовать и паразиты-оптимизаторы. Поэтому надо не автора лечить, а себя.

А что значит «хороший программист»?

Три года назад мне на собеседовании в Softheme задали этот вопрос, я тогда растерялся даже.

Не уверен, что слышал это там же, но название знакомое. При желании, можно уточнить и вспомнить. К счастью, вопросы по делу были тупые и растерянность гармонично наложилась на общее отвращение.

Мое видение «хорошего программиста» концентрированно выражено в данной (не моей) статье.
habrahabr.ru/post/188430

Если этого нет — то это ошибка в ДНК и знание различных фреймворков не поможет.
Добавил бы «склонность к развитию и хорошей теории».

да это же отличный вопрос, я его жду на собеседованиях, потому что на собеседовании по технической части ребята охватывают максимум 10-20% моих умений и это отличный шанс подать себя. Пока программист не научится себя продавать, не быть ему успешным.

Да не в вопросе дело, а в тоне.

Успешный программист это какой-то оксюморон. Можно и зайца научить курить.

И будет, как с микрософтовскими задачками? все их повыучивают, и работодатели на собеседовании будут гадать — решил человек или знал ответ?

Это зависит от того, насколько «быдло» там рекрутинг;)
Я на интервью взвешивал тот же самый самолет, но баржи мне не давали, поэтому ответ получился другим.
От том, что прочитал «Как сдвинуть гору фудзи» — далеко не жалею и рад что логические головоломки нашли применение в реальной жизни.

Хорошие задачки на программирование подразумевают кучу возможных follow-up questions, на которые ответы выучить не так-то и просто.

Никогда не выдумывал специально хитрых задач для собеседования. Во-первых потому что обычно времени мало, а технологий по которым надо проверить — много. А если даешь задачу «подумать» или тем более «написать» то и времени надо давать достаточно. Если конечно не цель проверить человека на «стрессо-устойчивость» (никогда такое не практиковал).
Мой подход очень простой и состоит из 2 частей:
1. Обсудить с человеком что-то, написанное им самим.
2. Выяснить насколько соответствует истине перечень знаний в резюме.
Считаю что п1 — это самая главная часть. Когда человек рассказывает о своей программе (пусть даже примитивном калькуляторе или крестиках-ноликах) можно понять как он умеет мыслить и свои мысли выражать. Главное — что бы у человека было понимание что он пишет, для чего и как. Формошлеп, который находит код в интете и подгоняет вслепую пока не запустится объяснить ничего не сможет.
Заодно первая часть частично отвечает на вопрос с какими технологиями человек реально знаком и на каком уровне. Остальные технологии в резюме иногда добавляют «для веса». Тут достаточно 1-2 быстрых вопроса что бы понять человек написал правду или придумал. Например: написать простейшую группировку на SQL, или объяснить чем отличается интерфейс от абстрактного класса или в чем разница между GET и POST.
При собеседовании синьоров иногда бывает сложнее: например спросить разницу между Hash и Loop Join или какие-нибудь известные «тонкости» в конкретной технологии, например ProxyCreationEnabled в Entity Framework.

Например: написать простейшую группировку на SQL, или объяснить чем отличается интерфейс от абстрактного класса или в чем разница между GET и POST.

Забавно, буквально сегодня был на собеседовании на QA позицию в компанию ****. Так вот, именно эти три вопроса мне и задавали.

За плечами не носить.
Мне лично все вопросы на собеседованиях, заданные до того, как меня все таки наняли «править спагетти код шрапнельными правками», пробудили хороший интерес к правильной теории и терминам.

Меня на джуниор automation в свое время алгоритмами терзали :)

И как, действительно алгоритмически сложная система тестируется?

Забавно, мне эти вопросы постоянно задают.

И все же очень многие джуны на собеседовании не могут на них ответить. Уже приводил пример:
dou.ua/...ic/3135/#177756

Что характерно их задают и синьорам и миддлам.

-смотрю резюме и нахожу знакомые слова.
-задаю вопросы касательно проекта, которым он будет заниматься
— тестовое задание на предмет знания среды разработки
— испытательный срок — работа над проектом. Хватает недели понять — потянет ли этот чел проект или нет.
Проходит — работаем дальше, нет — пока.

Самая коронная фраза на собеседовании — «когда вы можете приступить к работе?»

Даешь человеку ноут с установленным ide и просишь написать класс Version и требования, поддержка версий X.X.X, чтобы можно было сравнить с X.X и т.д
через полчаса смотришь что получилось.
кто то быстро код настрочит, но некрасивый, кто-то и юнит тесты сначала напишет, кто-то comparable не забудет и еще много чего. Интересно наблюдать, как человек может свое время распределять, на планирование, на дизайн. Обсуждение кода, мное может рассказать, кто перед тобой. И да, я не расчитываю что кто-то напишет за полчала продакшн код, но он мне должен рассказать что еще надо сделать и как.

Полезный совет, спасибо.

и еще много чего.
Отсюда можно поподробнее?

это будет вам домашним заданием

Может я чего-то не понял, но человек который может написать за пол-часа поддержку версий с тестами и comparable, да ещё «и еще много чего» может построить десяток работодателей перед своим столиком в ресторане и кидать в них объедками, а они будут петь и кривляться.
Или я как-то не правильно постоянно оцениваю ситуацию на рынке. Или вы как-то неточно обозначили задание.

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

Ухх, был такой треш в датаарте со мной когда-то. Мало того что ноут — на экране ничего не видно, клава непривычная — так еще и куча говна понаставлено, все дико просто тормозит, Eclipse они за IDE они по ошибке приняли. Ах да, там еще и винда до кучи стояла (пока, любимые CLI утилиты).
Сбежал я оттуда — только пятки сверкали.

И правильно, ниасиляторы обычно только проблем доставляют

да вы гребите-гребите, не отвлекайтесь) я уж давно в других местах осилил.

Что, уже и в обморок при виде гавнокода не падаешь?

Я до этого не дошел — для них я «overqualified» и они не берут на работу тех , кому стало неинтересно на предыдущем месте работы.
Короче, хреначь(замененено цензурой) код, блудница (замененено цензурой) :)

Я до этого не дошел — для них я «overqualified» и они не берут на работу тех , кому стало неинтересно на предыдущем месте работы.
Будем знать.
Начинаю думать что overqualified специалисту хорошую работу найти не проще, чем студенту без опыта. Даже если просить ЗП мидла. Похоже сейчас выгоднее продавать джунов как мидлов в аутстафе, чем искать сложные проекты, для которых нужны синьоры.

Overqualified’у нужно всёго-то готовить резюме под желаемую позицию, а не вывешивать транспаранты со скиллами.

А какой смысл «сокращать» скилы что бы взяли на позицию, где они не будут нужны? У меня и сейчас есть работа где 50% моих знаний — не нужны.
Я имел ввиду сложно найти желаемую позицию, где знания нужны и еще и учится надо будет. Если уже составлять резюме под вакансию, то лучше «приврать» про недостающие скилы — а потом быстро выучить их в свободное время в процессе работы.

А какой смысл «сокращать» скилы что бы взяли на позицию, где они не будут нужны? У меня и сейчас есть работа где 50% моих знаний — не нужны.
Просто overqualified со временем обрастает скиллами, как днище корабля всякими поллипами и моллюсками, настаёт день, когда надо очистить днище и перейти к новому обрастанию %)

Да, есть такой термин «all of nothing», еще «outdated skills»;)
Но мне сейчас то это все фиолетово, взяли все-таки, такого как есть, цель по всем критериям достигнута.
Вджобываю, пока все нормально (тьфу-тьфу-тьфу)

Не успокоился, продолжаю «вытаскивать себя за волосы из болота»;)
Будет плохо — продержусь на фрилансе, свалю за бугор или в бизнес-аналитики (предложения были, но поздновато).

И да, я не одинок в своих проблемах, всем привет от моего «брата по разуму» с Хабра:
habrahabr.ru/post/194656

Overqualified’у нужно всёго-то готовить резюме под желаемую позицию, а не вывешивать транспаранты со скиллами.
Это тоже, но я не всю жизнь мечтал там работать.
Пригласили на техническое собеседование, после него сказали — переходим к следущему этапу. Далее звонок — «Вы overqualified»;)

Также возможны, причины, например с greenka.net/...read.php?t=2917
«Когда интервьюеры говорят, что Вы » overqualified " на данную должность, они обеспокоены следующим:
1. Вы будете скучать на этой должности;
2. Вы не будете удовлетворены зарплатой, которую они предлагают;
3. Вы уйдете, как только вы найдете лучшую возможность;
4. Им придется пройти через трудоемкий и дорогостоящий процесс найма и подготовки другого работника."

А скорее всего — просто им не нужны 40-летние миддлы:)
Факт того, что я там не работаю — больше радует, чем печалит.

Я учу людей программировать на Java и помогаю попасть на первую работу.
Головач 2.0, пожалуйста, не засырайте ДОУ маркетинговыми темками еще и вы.
------------------------------
Задача:
Если решил: мой вывод
Если не решил: мой вывод
В реальном мире лучше не делать выводы по конкретным задачам, а смотреть «в целом». Человек может «не решить» важные задачи, но вы просто видите что надо брать (все что не занет, выучит). Или все ответил и опыт есть, но вот что-то не так. Особо актуален такой подход к джунам.
Может кому-то будет полезно:
Как Вы проверяете программиста
dou.ua/...ums/topic/3419

мне кажется, вы просто боитесь конкурентов

мне кажется, вы просто боитесь конкурентов
Фантазер. А почему вы решили что я занимаюсь подготовкой джунов?
UPD.
Стоп. Или конкуренты это джуны у которых не хватает мозга перойти собеседование без помощи «коуча»? Насмешили :)
Стоп. Или конкуренты это джуны у которых не хватает мозга перойти собеседование без помощи «коуча»?
я давным давно проходил собеседования на джуна явского. Плохо проходил, очень плохо, если бы в то время были такие коучи как Иван или ТС, было все много, много лучше. Сам сейчас наблюдаю картину насколько быстрее люди шагают по карьерной лестнице. Мне до мидла тогда потребовалось 3 или 4 года (просто потому что не было информации написанной доступным языком и хорошо структурированной и приходилось почти все шишки набивать своим лбом), сейчас же, если человек мотивирован то до мидла он долетит за полтора года. Просто потому что есть источники.
А вы сразу, будучи джуном, получали 5 офферов с 5 собеседований?
Плохо проходил, очень плохо, если бы в то время были такие коучи как Иван или ТС, было все много, много лучше.
Или же сейчас вы могли БЫ бить беспомощным говнятелем ХМЛя. Найти первую работу — это как раз экзамен на профпригодность, по ходу последний из доступных (из ВУЗов уже не отчисляют, хотя говорят что снова начали, но я в это не особо верю). При том экзамен скорее для себя.
сейчас же, если человек мотивирован то до мидла он долетит за полтора года. Просто потому что есть источники.
Интернет называетсо. Если человек мотивирован стать профессионалом, то ему не нужны гуру, особенно сейчас, когда инфа доступна в множестве форм и рынок хорошо прогрет.
Когда человек ищет того кто его научит, вместо того чтобы самому обучаться — это уже первый фейл.
А вы сразу, будучи джуном, получали 5 офферов с 5 собеседований?
2 из 4-х, еще около 5-ти даже не пригласили на собеседование, 1 пригласили на собеседование через 0.5 года. (На сколько я помню)
И что это меняет? Собеседование — это не формальный процесс. Вы можете все ответить, но вас завернут, потому что «ощущение странное» или «внешний вид не понравился». А можете нервничать и отвечать правильно меньше чем на половину вопросов, но вас возьмут.

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

Интернет называетсо. Если человек мотивирован стать профессионалом, то ему не нужны гуру, особенно сейчас, когда инфа доступна в множестве форм и рынок хорошо прогрет.
Когда человек ищет того кто его научит, вместо того чтобы самому обучаться — это уже первый фейл.
В интернете надо горы отбросов перерыть, чтобы найти источник знаний. Настоящий учитель выдает это в сконцентрированном виде, так что не все так однозначно.
До сих пор помню лекции по теории в автошколе;)
ему не нужны гуру, особенно сейчас, когда инфа доступна в множестве форм
странно, почему еще университеты не закрыли. По матану тоже можно найти несколько учебников, но без преподавателя его не осилит никто.
Когда человек ищет того кто его научит, вместо того чтобы самому обучаться — это уже первый фейл.
имхо, это первый разумный поступок.

я б на вашем месте не был столь котегоричным
Иван залогинтесь

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

*И снимите свою маску злого умника, который пытается разыскать в чужих идеях свои подсознательные (а, возможно и вполне сознательные) желания и чувства. Не все думают и поступают так, как вы. И не нужно здесь рассуждать на темы какие мотивы побудили меня на создание данного поста поскольку истинная причина известна только мне. А все догадки, рассуждения и обсуждения будут не более чем пустой болтовней.

P.S. За ссылку на вопросы спасибо

Эти задачи нужны для того чтобы человек проверил свои знания, попрактиковался в решении реальных задач программирования и получил уверенность в своих силах, а не для того чтобы научить его проходить собеседования.
Тогда не понятен посыл:
Добрый день этот пост адресован всем, кто лично проводит технические собеседования и берёт программистов на работу.
Или те кто не собеседуют не сталкиваютсо с реальными задачами?
------------------
И не нужно здесь рассуждать на темы какие мотивы побудили меня на создание данного поста поскольку истинная причина известна только мне
Я и не рассуждал. Я лишь попросил вас не делать так как Головач, засоряя и так не очень чистый ресурс.
Но вот тот факт что вы сразу пошли в наступление, таки стимулирует догадки о ваших мотивах :)

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

Поэтому я обратился к людям которые, по моему мнению, компетентны в вопросе. Если, у кого есть интересные вопросы и они в тему мы не проверяем должности, пожалуйста, я обеими руками за.

По вопросу — кто такой Головач и что он здесь делает, я не имею ни малейшего понятия поэтому извиняйте этот вопрос не ко мне :(

Обещаю не засорять чистый ресурс.

понимаете, вы занимаете нишу этакого «seo», который пытается «оптимизировать» соискателя для прохождения в топ яндекса собеседования.

С одной стороны, вроде бы это и хорошо. А с другой — мне то нужен не человек, который проходить собеседования умеет. Мне нужен товарищ, который могет работу делать.

Так смотря какое собеседование. Если там спрашивают «что такое синглтон и перечислите 20 паттернов», то можно и прокачать скилл прохождения такого. Знаю не одного человека, которые таким образом устраивались без реального опыта практически, но с зубрежкой:)
А если просите что-то написать или дать кусок кода из вашего проекта и будет предложено его доработать, например, то «оптимизацию» соискателя без реальных умений не представляю.

Ну вот как бы в этом полезное дело, что заставляет «принимающих» усложнять алгоритмы

Выходит, «оптимизатор соискателей» лично вам ничем и не мешает. Грамотно проводите собеседование — ваш зоркий глаз отсеет такого профи-теоретика:) А кто спрашивает о круглых люках и функции, меняющей местами значение двух числовых переменных, не используя буфер — сам будет удовлетворен кандидатом и человек устроен и благодарен «оптимизатору» морально и материально. Все довольны.

Да, мне не мешает (я и не выступаю против особо).
С другой стороны и смысла не вижу — либо ты достаточно хороший специалист, либо нет.

Есть еще промежуточные варианты. Например, работодатель завышает требования. Кандидат даст иллюзию нужных скиллов, но и без оных (либо обучится в процессе) будет справляться с задачами. Очень часто такое происходит, кстати.

ну да, для наших 10.5 юзеров нужен опыт в highload.

Все равно спагетти код шрапнельными правками править в итоге;)

Боян (ТМ)
«Вакансия: водитель.Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями, троллейбусами, трамваями, поездами метрополитена и фуникулёра, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами „Формулы 1“ — приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, бортовых компьютеров, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих производителей. Опыт проведения кузовных и окрасочных работ — приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.Зарплата: определяется по результатам собеседования.»

И в туда же:
habrahabr.ru/post/181836

Именно:) или вот недавно в проекте проскакивало (по-моему, даже в релиз ушло):
float f1(int a, float b, const char* str, A* c)
{
return 3.14f;
}

раз такое уходит, то здесь куда больше отвественность на лиде/архитекторе приложения, врядли на джуне. когда меняется реализация, а тесные зависимости для старой версии интерфейса обновлять и править некогда.

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

Головач 2.0
Какой же это 2.0? Это версия 0.1, я бы предложил в топике полтора десятка задач для обсуждения:)

А, понял — это ты здесь засоряешь чистый ресурс.

P.S. Bogdan Shyiak извиняюсь Ивана знаю :)

Т.е. вы будете учить людей проходить собеседования?

Почему буду? Я их всегда учил это делать.

Подписаться на комментарии