Так вышло, что некоторые собеседования занимали 2-3 этапа, и я накопила парад вопросов, которыми спешу с Вами поделиться.
Психологические вопросы
Представители отдела кадров и не IT-руководители качественно выполняют свою работу и тоже хотят тебя о чем-нибудь спросить, но некоторые из них удивляют меня все больше и больше. Руководитель одной из контор устроил мне даже блиц-опрос с таймером. Если раньше обходились двумя вопросами: “Кем Вы видите себя через 5 лет?” и “Что Вас не устраивает на старом месте работы? Сейчас же, все вокруг только и говорят, что о психологии, вот и появляются подобные вопросы.
Мои любимые, простенькие короткие вопросики:
— “Вы конфликтный человек?”
— “Допустим у Вас конфликт, как вы будете его решать?”
— “Если в pull-request вы не согласны с коллегой, какие Ваши действия?”
— “Как часто вы пьете чай на рабочем месте?”
— “Как вы решаете споры в команде?”
— “Опишите работу вашей мечты”
— “Опишите рабочее место Вашей мечты”
— “Если бы вы выиграли в лотерею кругосветное путешествие длиной в год. Какова вероятность, что после приезда вы пойдете на прежнее место работы?”
Однажды мне прислали психологический тест, состоящий из 2 частей в общей сложности на 300 вопросов, потому что: «Данная вакансия предполагает конкурсный отбор в 3 этапа — 2 тестирования по электронной почте (психологическое и профессиональное) и собеседование (очное или скайп, как вам удобно)»
Естественно все 300 вопросов я описывать здесь не буду, предоставлю просто ссылочку на репозиторий с этими тестами (тесты). Но прикреплю тут Вам некоторые вопросы.
- Моя память не меняется заметно со дня на день:
а) верно
б) не уверен
в) неверно - Даже в обществе знакомых людей меня иногда охватывает чувство одиночества и ненужности никому:
а) верно
б) нечто среднее
в) неверно - Я испытываю беспокойство, как будто я что-то хочу, но не знаю, что:
а) очень редко
б) иногда
в) часто - Если бы я держал в руках заряженное ружье, то чувствовал бы себя нервозно до тех пор, пока не разрядил бы его:
а) верно
б) нечто среднее
в) неверно - Слово «собака» так относится к слову «кость», как слово «корова» к слову:
а) молоко
б) трава
в) соль - Разыскивая какое-либо место в чужом городе, я:
а) просто спрашиваю у людей, где это место
б) бывает по-разному
в) беру с собой карту и ищу это место сам - Если я собираюсь на поезд или на самолет, то становлюсь несколько возбужденным, напряженным и тревожным, даже если знаю, что у меня еще есть время:
а) верно
б) бывает по-разному
в) неверно - Я считаю, что люди должны хорошо подумать, прежде чем осуждать мудрость прошлых поколений:
а) верно
б) не уверен
в) неверно - Я всегда очень старательно контролирую, в каком состоянии возвращаю людям вещи, взятые на время, и в каком они их возвращают мне:
а) верно
б) бывает по-разному
в) неверно - Шутки на тему смерти в разговоре вполне допустимы и приличны:
а) верно
б) не уверен
в) неверно
- Способности и черты характера, унаследованные от родителей, являются более существенными, чем это признают многие люди:
а) верно
б) не имею определенного мнения
в) неверно
- Если бы я мог свою жизнь начать сначала:
а) я хотел бы ее спланировать иначе
б) не имею определенного мнения
в) в основном я хотел бы прожить ее так же
- Мне доставляет удовольствие отпускать беззлобные шуточки, которые никому не приносят серьезного вреда:
а) верно
б) бывает по-разному
в) неверно
- Я переживаю, если кто-то думает обо мне плохо:
а) едва ли
б) возможно
в) весьма вероятно
- Бывает, что все утро и значительную часть дня у меня не возникает желания с кем-нибудь пообщаться:
а) никогда
б) иногда
в) часто
- Вы все чувствуете острее, чем большинство других людей?
- Иногда Вы с удовольствием слушаете неприличные анекдоты?
- В Вашей жизни были случаи (может быть, только один), когда Вы чувствовали, что на Вас кто-то воздействует гипнозом?
- Иногда без причины (или даже при неприятностях) у Вас бывает приподнятое настроение, чувство радости?
- Вам часто случалось подчиняться родителям, даже если Вы считали, что они неправы?
- Большую часть времени Вы чувствуете общую слабость?
- Обычно Вы удовлетворены своей судьбой?
- У Вас такое впечатление, что Вас никто не понимает?
- У Вас бывает чувство, что трудностей так много, что преодолеть их невозможно?
- У Вас редко болит голова?
- У Вас более чем достаточно причин для беспокойства.
- Обычно Вы осторожны с людьми, которые относятся к Вам дружелюбнее, чем Вы ожидали.
- Вам приятно иметь значительных людей среди своих знакомых, потому что это увеличивает Ваш престиж.
- Вам неловко входить в комнату, где уже собрались и разговаривают люди.
- У Вас бывают периоды, во время которых Вы необычайно веселы без особой причины.
На одном из интервью мне устроили вечеринку вопросов.
Чтобы легче было воспринимать диалог введем обозначения: Разработчик (Р) и Кадровик (К)
Вопрос № 1
К: Ночь, трасса, остановка. На остановке стоит мужчина твоей мечты, друг, старушка. Ты едешь на двухместной машине и можешь взять всего лишь одного человека. Твои действия?
Р: Заберу друга
К: Хорошо, а теперь представь, что мы “Out of Box”. Твои действия?
Р: Что Вы понимаете под “Out of Box”?
K: Давай представим, что ты программист, как бы ты действовала?
(Тут у меня был пинг секунд так на 30)
Р: Посмотрю свойства объектов и решу, что с ними делать
Правильный ответ этой задачи: “Отдать машину другу, он увезет бабушку, а сама останешься с мужчиной своей мечты. Потому что от мечты отказываться нельзя”
Вопрос № 2
K: У тебя есть друзья?
Р: Ну да
К: Сколько у тебя друзей?
Р: Близких или не очень?
К: Близких
Р: Допустим 3
К: Назови их Имя и Фамилию
(Кадровик берет листок и готовится писать под диктовку)
Р: Листкова Марина, Костенко Артем, Мартынова Дарья
К: Я встретила на улице Листкову Марину, что она мне скажет о тебе?
Р: ЭЭЭ, что?
К: Назови три своих качества, которые Марина может о тебе сказать?
Р: Ответственность, усидчивость, коммуникабельность
К: Я встретила на улице Костенко Артема, что он мне скажет о тебе?
Р: Мммм, Ответственность, усидчивость, коммуникабельность
К: Я встретила на улице Мартынову Дарью, что она мне скажет о тебе?
Р: Пускай будет тоже самое
(Hr все записал на листочке и сразу следом полетел Всеми любимый нами вопрос)
K: Кем вы видите себя через 5 лет?
Р: Лидом
К: Как вы можете быть лидом, если Ваши друзья не назвали ни одного качества лидера?
(Дальше додумывайте сами, что бы вы ответили. Но подход был очень интересный)
Вопрос № 3
К: Сколько ты хочешь по зарплате?
Р: N-сумма
K: А если я тебе буду платить не каждый месяц, а в конце проекта N+R сумму?
Р: N+R будет меньше, чем если я каждый месяц буду получать по N.
K: Хорошо, а если я тебе еще добавлю?
Р: Если сумма в конце, будет выше чем месячная за этот же период, то соглашусь.
К: То есть вы работаете за деньги?
(Интересно то как =) )
Технические вопросы
Технические вопросы по джаве, которые задают на собеседованиях, пора уже выпускать в виде книги. Предоставлю удобные ссылки на подобные сборники тут, очень хорошая подборка ну и стандарт
70% вопросов и задачек, которые представлены в ссылках выше, как раз задают на собеседованиях ( Я говорю про core ). Но пока я общалась с разными лидам, смогла выделить парочку, которые показались мне где-то интересными, а где-то странными.
Однажды мне попался человек, который спросил: “Чем heap отличается от кучи?” и на полном серьезе смотрел на меня и ждал ответа.
Перечень вопросов:
1. Спрашивать про отличие LinkedList и ArrayList уже не модно, поэтому наткнулась на новый подход.
Зачем нужен LinkedList в Java, если можно заранее зарезервировать место у ArrayList вначале? (где, 0 – N – места для резерва). (Очень странный вопрос, но лид был из людей, которые «за поговорить»)
2. Зачем в Java нужен HashMap, если я могу написать функцию, которая реализовывает HashMap? (На мой взгляд такие вопросы на собеседовании задавать странно. Зачем структуру данных и алгоритмы мешать в одну кучу)
3. Как сделать так, чтоб из HashMap никогда не получить значение? (Очень хороший вопрос, сразу видно кандидата, который не просто так выучил: “Если переопределили equals, то переопредели и hashCode”)
4. Любимый Exception. Естественно, все хотят, что-нибудь про него спросить. Обычно дают задачки, либо просят рассказать зачем, куда и сколько. Но вот один человек удивил: «Зачем в джаве придумали эти иерархии, если можно просто сделать один?» (Рассказы про логи и распределение его не устроили, так я и не знаю какого ответа человек ожидал)
5. Задачка: Пользователь указывает сколько чисел после запятой он хочет видеть на экране. Функция, которая возвращает нам число, находится во внешнем API и не позволено ее модифицировать. Допустим процесс вычисления при запросе вывода больше 3 символов сильно замедляется. Как реализовать наше приложение?
Забавная задачка, чтоб посмотреть, как рассуждает кандидат. Мне она понравилась)
6. Задачка: В API находятся данные, которые необходимо получить в JAR2. JAR2 не имеет прямого доступа к API, зависимость указана стрелочками, зависимости менять нельзя. Каким способ передать данные от API к JAR2.
Тоже очень хорошая задачка, на рассуждение.
Вывод
Собеседования — это интересно. Лиды: проявляйте уважение к кандидатам. Кандидаты: отвечайте на вопросы четко и ясно. Всем желаю найти свою команду, ведь команда — это слаженный механизм, от работы которого зависит успех проекта.
Комментарии (78)
ilynxy
16.09.2019 20:40А какой ответ в задаче N5?
iFebrity Автор
16.09.2019 21:38один раз посчитать и результат в String, а потом просто резать
Neikist
16.09.2019 21:46Блин, почему то подумал что результатом может быть разное число каждый раз (предполагая наличие аргументов от которых оно зависит) и начал думать, то ли кеш какой прикрутить нужно, то ли хз что, и какие вопросы стоит задать чтобы понять какой кеш лучше подойдет, а тут так просто все(
Source
17.09.2019 18:23Один раз посчитать с какой точностью? Плюс не указано насколько сильно деградирует скорость от кол-ва знаков… Может 50 знаков посчитать займёт 5 лет xD
DmitriyTitov
16.09.2019 20:45+7Всем желаю найти свою команду, ведь команда — это слаженный механизм, от работы которого зависит успех проекта.
А почему во всех ИТ-конторах обязательно строят «команды»? На всех собеседованиях и во всех вакансиях всегда рассказывают про «команду». Чем плох «коллектив», который меньше про эмоции, но больше про профессионализм.
На мой взгляд, в коллективе все работают за деньги и карьерный рост, и это правильно. А в составе команды хорошо играть в спортивные игры, где сам факт принадлежности к команде является мотивацией.iFebrity Автор
16.09.2019 21:14Без разницы как называть, хоть «коллективом» хоть «командой». Главное, чтоб все сработались и делали нормальный продукт на выходе.
mad_nazgul
17.09.2019 06:59Потому что пришло время «больших батальонов».
Да управлять через коллективную ответственность гораздо проще. :-)
Alg0r
17.09.2019 14:25Коллектив — это объединение людей на одной территории для совместной деятельности. Команда — это коллектив, мобилизованный для решения одной, общей задачи. Команда производительнее коллектива.
DmitriyTitov
17.09.2019 14:46А может быть всё проще: просто очередной переводное слово, невпопад взятое из англоязычной речи? Для всех этих «оферов», «печенек», «митингов» и прочих элементов новояза есть вполне нормальные, устоявшиеся слова.
Я ещё понимаю, когда бытовые маршрутизаторы называют «роутерами» — вроде звучит попроще, сойдёт.
С другой стороны «команды», «лиды», «сеньёры» или конторы в которых из десяти человек шесть — разные «директора» — это всё бездумная калька из западной деловой культуры, которая в российских компаниях смотрится глупо. А по задумке, наверное, всё это должно сплачивать коллектив.
И да, к примеру, я работаю в коллективе, распределённом по разным территориям, решающим при этом одну общую задачу.Alg0r
17.09.2019 15:12Слово «команда» — французского происхождения, в русском языке уже 4 века присутствует. У слова «коллектив» корни еще глубже, в латыни. Так что нет, это не новояз. Под территорией сейчас уже нужно понимать не только физическое присутствие.
А вот что касается общей задачи — она может стоять и перед коллективом. Если коллектив мобилизуется для совместного ее решения — он становится командой.
webkumo
18.09.2019 12:25Команда — группа лиц, работающая над одним проектом/подпроектом… в общем имеющая общую задчу. Коллектив — это вот прям все сотрудники, включая бухгалетров и уборщиц.
capjdcoder
16.09.2019 20:52+2Обалдеть! Ну честно сказать, я уж не знаю, какие деньги они предлагали и сколько нулей ожидалось в оффере, но простите мой французкий — да они похоже развлекаются как могут задавая такие вопросы.
А уж если у компании есть возможность содержать кадровиков и психологов, которые будут сидеть нахлебниками, вы потенциально соглашаетесь навешать на себя обязанность не только работать по специальности, но и уметь правильно проходить тесты, чтобы эти психологи рапортовали о вас исключительно хорошо и к вам не было вопросов.
На мой взгляд, это как-то через чур — идти в компанию и работать там не потому что прикольно и нравится, а работать на каких-то психологов, которые даже понятия не имеют, каким профессионалом может быть тот чувак в углу, который провалил все тесты, потому что эти психологи так и не нашли к нему индивидуального подхода.
Тут уместны только слова министра Лаврова.WhisperingOak
17.09.2019 09:22На мой взгляд, это как-то через чур
Через что, простите?Xobotun
17.09.2019 15:06Даль говорит, что чур – граница. Видимо, capjdcoder ссылался на министра иностранных дел неспроста – тот тоже границей ведает! :D
MikeDeblin
16.09.2019 21:31+2Я бы повнимательнее осмотрелся в этом офисе.
Особенно пристально высматривая все что связано с фамилией Хаббард.
Больше на секту похоже, чем на собеседование. И особенно к тем у кого опросник на 300+ вопросов.alexzeed
17.09.2019 10:05Ну почему, просто может быть такая методолгия у кадровиков, всем дают и смотрят что получится. У меня на первом моем собесе был IQ тест на пару сотен вопросов, часа за полтора решил. Сразу после универа (прикладная математика) решалось легко, молодой был :) В награду получил удивленное лицо выдавшей мне эти вопросы («О, вы уже все?») и отметку в результатах собеса «кандидат имеет высокий IQ». Устраивался junior embedded developer'ом в небольшую и вполне адекватную на тот момент контору, но HR специалист у них была внешняя.
dididididi
17.09.2019 17:26я однажды три дня проходил собеседование, там тоже были тесты и игры в команде. БЫло интересно типа тимбилдинга))) НО мне потом дали подробный отчет, где обозначили мои сильные и слабые черты. ТАкое тепа бесплатное сверхглубокое психологическое тестриование.
ooprizrakoo
16.09.2019 21:47+2Технические вопросы по джаве, которые задают на собеседованиях, пора уже выпускать в виде книги.
Когда вы будете интервьювером, вас сильно удивит, что при огромном количестве тысячу раз повторенных вопросов, люди с опытом будут «лажать» в самых распространенных вопросах. А если некоторые кандидаты и прочитали что-то — насколько это было для них бесполезно.
Например, спросите про сложность какого-нибудь Qsort, человек гордо скажет «логарифмическя!». Ок, спросите вы, «а в терминах О-нотации это как записать?»
Тут кандидат зависнет.
Некоторые всё-таки отвисают, и пишут O(log n). Некоторые, после уточнения, напишут O(n log n). Но после вопроса «а откуда взялась n перед логарифмом? — кандидат все-таки зависнет. И даже если не зависнет, а ответит правильно, вопрос в какую сложность может выродиться этот алгоритм в худшем случае набора данных, лишь 10% от исходной воронки ответят про n^2.
P.S. этим комментом я не пытаюсь развязать холивар между „практиками“ и „теоретиками“, нужно или не нужно знать и уметь писать/оценивать сложность алгоритмов. Просто привел зарисовку из жизни.
iFebrity Автор
16.09.2019 21:58Не спорю. Стрессовая ситуация и человек поплыл.
Но в любом случае, многие кандидаты готовятся к интервью и ищут источники вопросов)
0xd34df00d
17.09.2019 02:31Есть какая-то ирония в вашем комменте, если учесть, что квиксорт можно реализовать так, чтобы худший случай тоже был O(nlogn). Ценой чуть большей константы, естественно.
Kanut
16.09.2019 22:50Очень много хороших вопросов. И хороши они тем, что когда их слышишь, то сразу понимаешь что с этой фирмой тебе совсем не по пути :)
vassabi
16.09.2019 23:22Не понял условие задачи 6 — в чем именно трудность передачи и какие именно данные нужно передавать?
iFebrity Автор
17.09.2019 09:14Допустим в апи есть метод, getUser. В jar2 нужно получить данные из этого метода. Напрямую jar2 не может его вызвать, т.к менять зависимости нельзя. Как доработать левый столбик, чтоб все получилось
adictive_max
17.09.2019 11:29Я правильно понял, это вопрос про DI, но сформулирован настолько «в обход», что его суть приходится угадывать?
Neikist
17.09.2019 11:53Вряд ли, явно же указано что менять зависимости нельзя. Т.е. интерфейсы там вводить и т.п.
adictive_max
17.09.2019 12:13+1Ну если так, то тогда на вопрос «Каким способ передать данные от API к JAR2» ответ будет «взять и передать». В смысле дёрнуть API в war, а потом передать в функцию из jar1, которая вызовет функцию из jar2. Но тогда я вообще не понимаю, в чём смысл задания.
vassabi
17.09.2019 12:16вот и я в недоумении — чего хотел автор задачи?
Разве что — это такое задание «на сообразительность» (типа крышек люков), чтобы увидеть, какие вопросы я начну задавать, как буду уточнять ТЗ и т.д.iFebrity Автор
17.09.2019 13:01Мне тоже показалась, что явного ответа нет и это «на сообразительность». Путь с DI их устроил)
questor
16.09.2019 23:55+1Судя по "от мечты отказываться нельзя” — это возврат к заданиям, которые нужно тупо запомнить, типа как в тюремной культуры нужно просто знать ответы на все эти типовые загадки про "два стула" и уметь на лету понимать, как ответить на похожие. Раньше было про люки, сейчас уклон в психо. Не могу сказать, что по этим штукам можно что-то хорошо понять про кандидата нужное, просто видимо правду говорят, что кандидатов так много, что без разницы как их отклонять, хоть гаданием по ромашке.
hddscan
17.09.2019 01:10+2Как вы можете быть лидом, если Ваши друзья не назвали ни одного качества лидера?
Так и запишем, лидеру не нужны
Ответственность, усидчивость, коммуникабельность
Складывается впечатление, что качества лидера это некий сферический коньakdes
18.09.2019 15:09да не… просто такие «интервьюверы» находят или выдумывают вопросы, которые предназначены определить супер интелигентного человека. По факту использование таких вопросов, это:
а. Лень
б. Необходимость в отчёте перед начальством — «Смотрите, я составил каталог вопросов, который поможет...»
в. что-то ещё, не имеющее реального большого смысла.
Идеологическая цель этих вопросов: выявить качества человека, за как можно короткое время. К сожалению, это недоразвитость интервьюверов, задавать эти вопросы. Ибо нужно вести диалог или задавать не прямые вопросы о человеке, отвечая на которые он раскроется и ты только успевай делать себе записки, типа «не боится резких решений, нужно узнать о стрессоустойчевости» и т.д.
И оооочень важно сопостовлять всё на свою фирму, куда принимаешь на работу. Иначе толку в этих всех вопросах, когда работа проходит в подвале в паре с двумя интравертами си-шниками, которых заставили писать на джаве?!
Там не нужно составлять психотип человека — который так и так никто не делает, но вопросы зачем-то задают. Нужно понять адекватность и на сколько человек реально поможет компании.
Моё личное имхо по опыту. Если задел кого — не хотел — другого опыта не было.
Я лично, на днях спрыгнул с процесса резюмирования в одну большую компанию, на позицию Cloud Architect — после отправки резюме, мне стоило пройти математические и тесты по логике. Даже заглядывать в них не стал.
Скорее всего я бы эти тесты не прошёл на отлично, так-как более 10 лет на рынке, а они заточены на отбор юниоров. Я не хочу нагружать себя информацией, которую любят использовать в тестах и считаю, что могу дать намного больше, рассказывая о своей практике, которая имеет намного более весомые факты о моей проф деятельности.
А в итоге многие хотят и на ёлку и ж…
И тут я понимаю, что первоначально прийдётся встать на одну ступень с юниором, который хорошо учился, и скорее всего, станет в скором времени супер крутым разработчиком и т.д., но нет… и потом доказывай, почему ты лучше того парня, который прошёл тест на 99%, а ты нет…
Это моя позиция, мой выбор, правилен исключительно для меня, исходя из ситуации на рынке, которая происходит по месту моего жительства.
KonstantinSpb
17.09.2019 04:20Правильный ответ этой задачи: “Отдать машину другу, он увезет бабушку, а сама останешься с мужчиной своей мечты. Потому что от мечты отказываться нельзя”
Воу, постойте-ка, от мечты отказываться нельзя — это ограничение (constraint), о котором в задаче ничего не говорилось, а раз уж мы решаем задачу как программист, то без формализации требований и ограничений не обойтись, иначе мало ли какие у заказчика хотелки, программист может решить взять друга, а не человека своей мечты, т.к. у него может быть требованием «от друзей отказываться нельзя» и оно приоритетнее «от мечты отказываться нельзя „
Поэтому можно ответить, что общепринятый ответ (среди собеседующих) правильный, но только, если требования и ограничения заранее оговорены. А если они не оговерены заранее, то любой ответ верный.
Думаю, это покажет Вас с лучшей стороны, т.к. не ведетесь на общепринятые ответы, а максимально ответственно подходите к решение поставленной задачи. Типа out-of-the-box thinking, а на самом деле здравый смысл и внимание к деталям.deitry
17.09.2019 13:40Большой интерес вызывает что имел в виду интервьюер под "мужчина вашей мечты". Если то, что внешне он выглядит как Аполлон — это ещё не значит, что в общении он нормальный; если по условию задачи общения с ним раньше не было, то он вполне может оказаться чудаком на букву "м"
(прям как эта контора).akdes
18.09.2019 15:15Вопрос не говорит о «привлекательном незнакомце». Тут всё норм. Человек мечты заведомо чёткая информация.
klim76
17.09.2019 16:56у них наверное и ТЗ все так же финализированы
«Ой, а от мечты нельзя отказываться!»
DeniSun
17.09.2019 17:22Если позволите дополню.
Так же не формализованы начальные условия: куда Вы едете, срочно ли это, можете ли остановиться.
И вообще, может у них там своя тусовка, а Вы остановились и лезете без приглашения.
webkumo
18.09.2019 11:00+1Добавим к исходным условиям, что "х мечты" может принимать значения "девушка мечты" и "мужчина мечты" в зависимости от ориентации клиента (кстати, а собеседуюмую перед этим вопросом опрашивали этот момент?). Просто без этого условия совсем бред получается.
А теперь посмотрим на задачу с совем другого угла:
- у друга может не быть прав (нарушение законов, вплоть до уголовной отвестственности)
- при чём тут какая-то незнакомая бабушка (не, ну реально, кто-то останавливался ради незнакомой бабушки, чтобы куда-то там её подбросить? не верю (с))
- х мечты это конечно хорошо, но у меня "ипотека, жена, дети", на кой мне подставляться и подвергать риску отношение и состояния зависимых от меня объектов?!
szelga
17.09.2019 06:15К: Как вы можете быть лидом, если Ваши друзья не назвали ни одного качества лидера?
«потому что с друзьями я дружу, а не ДОМИНИРУЮ-ВЛАСТВУЮ-УНИЖАЮ.» шах и мат, хрюши.
(Дальше додумывайте сами, что бы вы ответили. Но подход был очень интересный)
sergey-gornostaev
17.09.2019 07:52JustDont
17.09.2019 10:20Ну всё, теперь я горжусь тем, что таки один раз успешно поюзал LinkedList в боевой задаче. Правда это была не ява, но это неважно. Правда, его вполне можно было не использовать, но это тоже неважно ^_^
Artalus
17.09.2019 09:39Люблю в таких случаях вспоминать свое очное собеседование в один московский магазин электрониники. Там тоже был психологический тест на 300 вопросов — сидишь, кликаешь на эти повторяющиеся "я скорее Х чем У", а рядом сидят кликают еще десяток кандидатов в менеджеры, продавцы, техники, аналитики… А когда все прокликано, тебе рассказывают, что у нас учет времени на рабочем месте по карточкам (не в офисе в целом, а в кабинете, карл!), и доступ в интернет запрещается, и никаких мобильников на рабочем месте, у нас все строго. Шел 2017й год, собеседование на разработчика С++...
ooprizrakoo
17.09.2019 11:57Магазин… три буквы, последняя «Х»? :-)
Artalus
17.09.2019 12:31английская 'x', да
adictive_max
17.09.2019 12:36Если это тот «Х», о котором я подумал, то теперь совершенно не удивительно, почему их сайт — это «привет из 90-х».
ooprizrakoo
17.09.2019 14:08да, это именно тот «Х» :)
наглядный пример того, как работает отрицательная селекция :)
A114n
17.09.2019 10:51Вспомнил, как мне задали вопрос «А вы сами писали код?». Я не понял смысла вопроса. Мы немного поуточняли без результата "- Что значит сам? — Ну сам или не сам? — Но как можно не самому писать код? -Так я об этом и спрашиваю" и на этом мы собеседование закончили. Как понять этот вопрос — я не знаю до сих пор.
Neikist
17.09.2019 11:08Может подумали что тестовое кто то за вас делал, или на гитхабе залили себе что то чужое.
iFebrity Автор
17.09.2019 13:05Один раз видела парня, который в тестовом задании принес чужой код. Мы не смогли его запустить (это были времени С). Когда он пришел на собес, все встало на свои места). Ему можно было задать вопрос — «А вы сами писали код?» =)
A114n
17.09.2019 13:30В том и дело, что там не было тестового задания. Я просто рассказывал, что и как я вообще делал. Я и не мог понять, как можно не самому код писать, если ты рассказываешь, как ты его писал. И она мне в итоге не смогла объяснить, что имела ввиду, так что я просто ушёл.
vedenin1980
17.09.2019 14:03Может она имела виду писал код полностью самостоятельно или в составе команды небольшую часть? Мне кажется, достаточно было просто сказать «да, это я писал этот код»
iFebrity Автор
17.09.2019 22:26Разницу между самостоятельно и в составе команды не вижу. И там и там его сотрудник все равно пишет сам)
vedenin1980
18.09.2019 15:27Ну как сам, джуионр может написать в резюме утрировано «разработал фейсбук в составе команды», а после наводящих вопросов окажется, что он стили в паре полей одной html формы поменял сам за все время работы да и работал в составе команды всего пару недель.
stanislavkulikov
17.09.2019 14:06Может быть имелось в виду: «Был ли в вашей жизни код, который вы написали сами, а не скопировали со StackOverflow?»
akdes
18.09.2019 14:21А может суть вопроса не в «сам» а в «А Вы писали код»? В плане реализации проектов в общем. Вопрос, который можно задать свеже испечённому юниорую.
Вопрос странно/непонятно поставлен — факт.
Maksclub
17.09.2019 10:514 вопрос по Exception: разве иерархия не для полиморфизма? То есть я могу ловить более абстрактное исключение выше, при этом ниже — могу строить логику уже на конкретных эксепшнах, логи — лишь сугубо частное применение этого всего. Кроме того для логов достаточно просто возможности создавать разные классы исключений и иерархия для этого прям не нужна.
- я пхпшник, могу сильно ошибаться о том, как у вас там в джава устроено
vedenin1980
17.09.2019 11:57опрос по Exception: разве иерархия не для полиморфизма
Не только, во-первых, начнем с того что есть Error (такие как OutOfMemory error) и Exception (оба наследуются от Throwable), первые обычно нет смысла ловить (но в принципе можно поймать, если пишешь что-то сильно системное) потому что это обычно означает такой писец, который обычное приложение уже не способно исправить, вторые стоит ловить, во-вторых, есть checked и unchecked Exception, первый банально не дадут скомпилироваться, если их не обработать.
Вероятно, интервьер хотел услышать разбор разных типов и как с ними работают, можно еще углубиться в вопросы почему не обрабатывают error и достоинства и недостатки checked Exception, как работает try with resources, блок finally и т.п. В общем, там можно задвинуть речь минут на пять.Maksclub
17.09.2019 20:33разве иерархия не для полиморфизма
не только,… начнем с того что есть Error (такие как OutOfMemory error) и Exception (оба наследуются от Throwable)Ну как не только, когда разная (поли) обработка и есть полиморфизм… логика «это обрабатываем, то нет» как раз-таки очень хорошо описывает полиморфное поведение интерфейса Throwable, при том является частным и малым примером использования иерархии исключений, или я как всегда все не так понял :(
vedenin1980
18.09.2019 15:22Ну как не только, когда разная (поли) обработка и есть полиморфизм… логика «это обрабатываем, то нет» как раз-таки очень хорошо описывает полиморфное поведение интерфейса
Ну можно придумать разные понимаения полиморфизма, но вообще это не совсем так. Полиморфизм это когда логика обработки отдается на откуп конкретной реализации интерфейса, а не просто разная обработка в зависимости от разного типа (она и без ООП существует). То есть когда в коде у вас
public void func(MyInterface m) { m.doSometing() }
И вы не должны задумываеться, что будет делаться в doSometing() в том коде, а чисто передать управления реализации и получить какой-то результат. В случае когда у вас есть:
if(x instanseOf X) doSomething1(); else if(x instanseOf Y) doSomething2(); else if(x instanseOf Z) doSomething3();
Это уже не совсем правильный полиморфизм (да и вообще не совсем правильное ООП), так как можно просто ввести некоторое поле тип и делать тоже самое вообще без всякого ООП.
if(x.type == X) doSomething1(); else if(x.type == Y) doSomething2(); else if(x.type == Z) doSomething3();
P.S. На всякий случай catch(Exception1 e) {}… catch(Exception2 e) {} это как раз синтаксический сахар над конструкцией if(e instanseOf Exception1 ) doSomething1();, что уже не совсем чистые принципы ООП на самом деле.Maksclub
18.09.2019 17:49Ну допустим я и ваш пример полиморфизма могу «поломать»:
public void func(MyInterface m) { if(m instanseOf X) doSomething1(); else if(m instanseOf Y) doSomething2(); else if(m instanseOf Z) doSomething3(); }
:) Так что вполне нормальный и хороший полиморфизм у иерархии исключений, по определению
Maksclub
18.09.2019 17:54ответ на PS:
я не писал про ситуациюcatch() {} catch() {}
а писал про иерархию:
catch(GeneralException $e) {}
когда GeneralException может иметь наследников (например 10 штук) и в слое ниже на них построен полноценный слой, но выше, где мы ловим — нам не важноvedenin1980
18.09.2019 18:43а писал про иерархию:
А я писал, например, про checked и uncheched exception и отдельно про тип error. Скажем, разделение на checked и uncheched exception нельзя просто переложить на полиморфизм ООП, потому что ничего такого в ООП нет.
vics001
17.09.2019 14:32«Зачем в джаве придумали эти иерархии, если можно просто сделать один?» (Рассказы про логи и распределение его не устроили, так я и не знаю какого ответа человек ожидал)
Непонятны, вы ответили, что без иерархии нельзя написать catch(DetailedException e), а без этой конструкции придется писать if, что против принципов ООП.
akdes
18.09.2019 14:17Спасибо, мне не представлялось пока иметь такое количество (более 5)
человеческихне технических вопросов. Почитаю на досуге.
Про вопрос кого увезёте на машине, я считаю что ответ Вы дали верный. Тем более когда говорят «как» программист. Конкретное условие должно иметь конкретный вариант. «Правильный ответ» это лишь разлетевшеесямифистория про креативно-думающего человека. На сегодняшний день, я бы ответил на этот вопрос, так:
«Я знаком с этим вопросом, и не вижу смысла выдавать Вам заведомо правильный ответ, а отвечу с учётом постановления вопроса и моих человеческих качеств.» И какой бы ответ я не выбрал, с учётом моих моральных устоев, я бы выплюнул объяснение, почему я сделал этот выбор.
Совет — если Вы научитесь заберать эстафету разговора у Вашего собеседника, это очень хорошо может повлиять на результат. Совет к сожалению не из принципа — прочитал научился. Могу его дать проведя кучу собеседований с компаниями и рекрутами. Однако, если у Вас есть это качество и/или отсутствует страх, это может стать очень выгодным шагом на этом собеседовании.
А если это окажется не выгодно, боюсь, это не то место работы, где Вы хотите работать и развиваться.
JC_IIB
Мне кажется, или вопросы HR — это полный бред? И почему они сходу «ты»-кают? Про пулл-реквест еще куда ни шло, но какое вам дело, сколько у меня друзей и каковы их ФИО, в самом деле?
Шедевр. «Работать в нашем
банкеБанке — большая честь!» (С)iFebrity Автор
Полный бред — эти вопросы. Я поэтому и захотела рассказать о них)
По поводу «ты» — они уточнили, можно ли так обращаться.
polar_yogi
По поводу анкет на 300 вопросов, насколько я знаю (как-то видел процесс обработки) на бланк с ответами накладывается трафарет, считаюся галочки и выводы делаются по неким шаблонам, типа:
трафарет А — меньше Х галок — недостаточно честные ответы
трафарет Б — больше Н галок — неуверен в себе
и т.п. Т.е. делаются выводы по косвенным признакам, поэтому опрос часто с таймером — чтобы не слишком задумывался. О точности судить не берусь.
4eyes
MMPI?
MaxVetrov
Наверно есть еще вариант — Устал отвечать на кучу повторяющихся вопросов.)
0xd34df00d
Интересно, что никакие другие условия собеседующий варьировать не предлагает, так что этот вопрос совсем бредовый.