Pull to refresh

Comments 156

Помню однажды меня позвали в "mail.ru". Я пришёл, в надежде, что меня соблазнят чем-то интересным. Первым же вопросом было "Почему вы хотите работать в нашей компании?". Надо ли говорить, что дальнейшее общение не задалось?

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

А в мегафоне как-то спросили «кем вы видите себя у нас через 2 года»?

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

Это же классика! На такой вопрос принято отвечать — «генеральным директором».
«То есть, вы хотите идти по менеджерской, а не технической линии?» :)
До генерального можно и по технической дойти. Там же обе ветки сходятся. Да и на самом деле все что выше лида уже сложно поделить на техническое и нет.
«А вы сперва мне скажите какие планы развития у вашей компании на эти два года. Что, нет таких? Не знаете (100% что рядовой HR или сотрудник не в курсе таких планов даже если они есть)? Ну тогда чего от меня-то вы хотите, если вы сами не знаете что будет с вашей компанией и будет ли она еще существовать вообще».
Вы таки удивитесь, но в нашей компании регулярно проводятся мероприятия по изложению сотрудникам планов развития компании, приоритетах и стратегии. И их организуют в частности, как раз HRы.

У меня было интересное: компания нашла моё резюме на hh, выяснили, что я работаю в одной компании с их бывшим сотрудником. Узнали у него мой email (он у меня уточнял, мне аж интересно стало), и прислали на него анкету начинающуюся именно с этого вопроса… Я до сих пор не знаю что это за компания была, но вроде даже мягко послал их им ответ, что так делать нехорошо.

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


В общем случае, все хотят побольше гарантий адекватности в долгосрочной перспективе. Но способы получения информации иногда приносят больше вреда, чем пользы. Некоторые явно спрашивают поручителя/рекомендацию. Некоторые лезут в соц.сети и начинают оттуда выгребать всё что могут. Кто-то начинает искать через знакомых, знакомых знакомых и тд. Кто-то всё сразу делает и хочет узнать о человеке всё. По мне так, это сомнительное занятие. Да хочется знать больше, но в рамках разумного. И лучше уж прямо у кандидата спросить всё что интересует, чем в КГБшника играть. В книге "Обнимите своих сотрудников" несколько интересных вещей по этому поводу написано.

Справедливости ради, Mail.ru уже от этого отучилось. Свой процесс найма они неплохо отдебажили.
Подобные проколы — личный косяк HR'а, и судить по ним о компании в целом, наверное, не стоит. Хотя неприятно, конечно, особенно если ты время потратил, приехал и выяснилось, что на вакансию обязательно нужен навык, которого у тебя отродясь не было и в резюме не указано.

Ладно там если mail.ru, но когда такой вопрос задает малоизвестная конторка с офисом на квартире педалюющая какой-то аутсорс…
UFO just landed and posted this here

Сильно от человека зависит. Кто-то на публике выступать может спокойно, а кто-то накосячит трижды в элементарном задании в риалтайме когда над душой неизвестный дядя стоит, но в более спокойной обстановке сделает всё как надо. Если уж давать риалтайм, то что-то очень простое на проверку базовых навыков и вслед за этим что-нибудь посложнее на 30-60мин для оффлайн решения. Тогда будет полноценная картина: навыки программирования плюс приспособленность к психологическим нагрузкам. Так в Microsoft было у меня.

UFO just landed and posted this here
Как по мне куда сложнее решить конкретную задачу, чем отвечать на какие-то общие вопросы. При том, общаюсь я каждый день, а вот пишу код, где каждый символ тут же проверяют куда реже, приблизительно никогда…
Я не очень понимаю людей, которые из списка тестовых заданий рекомендуют выполнять что-то подобное:
Представьте что вам нужно сделать микросервис, который проводит сделки пользователей из трех различных регионов. У каждого пользователя есть некий баланс средств и он не может совершать сделки на отрицательном балансе. Для простоты сделка полностью проводится внутри микросервиса. Каждый пользователь прикреплен к ближайшему к нему датацентру и к одному из датацентров в качестве резервного. Необходимо сделать микросервис прототип, который позволит продолжить торговлю без остановок в случает падения одного из датацентров. Необходимо продумать все стресс сценарии когда могут возникнуть проблемы с расхождениями баланса и придумать пути их решения. Также желательно продумать схему масштабирования на большее число датацентров и возрастающие объемы сделок.

Да ладно, довольно интересное задание. Другое дело, что потратив кучу времени на его выполнение ожидаешь, что на приём тоже потратят достаточно времени, чтобы разобраться почему применяются те или иные решения. И уж точно не хочется слушать реплики в духе "мы решили вам отказать, так как ваше решение не является законченным продуктом и вообще не работает" из-за того, что приёмщик не смог без ошибок скопипастить строку вызова из документации.

Очень интересно такой сервис писать на C++. В том же бизнес центре Avito расположен, у них восстановление в ручную делается.

На С++ всё писать "интересно" :-)

Потомучто ищут обычно не раба на галеру уровня ebanoe.it. Долларовый миллионер в 30 без регистрации и смс это дело такое. Темболее бывает, что нужно за вечер написать 1к строк, а бывает и за неделю 100 строк хватит. Никто не знает что будет через год. А на год брать человека не хочется. Тестовое задание? А вы программист или демагого? Код писать не умеете?

Простите, но я вас не понял.

Вы сейчас что-то такое непонятное и безсвязное написали, как-будто вы не человек, а неудавшийся ИИ…
Судя по тому, что вы отвечаете как человеку — вполне удавшийся.
UFO just landed and posted this here
не стесняйтесь задавать вопросы о причине отказа. В лучшем случае вы получите информацию для размышления и саморазвития, в худшем случае — не получите ничего и составите соответствующее мнение о компании

Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».

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

Аналогично, после первого собеседования (несмотря на то что оно было по телефону, без предварительной подготовки и довольно сумбурное), понял, где мое самое слабое место (как оказалось, это был английский), подучился, и в последущем все прошло как по маслу:)
Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».

Тоже такое бывало.
Причем даже в случае отказов бывало HR-ы могут написать, что-то «весёлое», а уж спрашивать о причинах можно только в исключительных случаях.
На системного админа к примеру >70% даже не читают вакансию толком. Просто рассылают резюме в стиле «вдруг проканает». К примеру в вакансии четко описаны необходимые навыки, к примеру «linux, nginx, haproxy, mysql, ansible, все на уровне не ниже „джедая“», а в процессе беседы выясняется что человек не понимает в этом ничего, от слова совсем, и линуксы видел только в кино, а сам пару раз переустанавливал винду, да 1с. Естественно в резюме у него 10 лет опыта в highload.

Из смешного запомнился кандидат, который спросил у нас зачем мы спрашиваем его про nginx, elk, linux.
-Ваши обязанности будут включать работу с web-серверами, вы текст вакансии изучали же?
-Я столько раз уже резюме своё рассылал, в каждой вакансии написано куча всего, все их читать что ли?
UFO just landed and posted this here
Ну справедливости ради, часто вакансию админа пишут сами HR-ы/секретарши/бухи/начАХЗ и там написан совершеннейший бред. А по факту у людей есть парк, который должен работать, и разобраться, что он себя представляет и при этом ничего не уронить — и есть первое задание, причём срочно, ибо что-то уже лежит (потому и ищут), а парень, который за это раньше отвечал — заболел/запил/уволился/в_армии/истерит/оказался_полным_ничтожеством и т.п.
К слову говоря, когда искал работу ходил на собеседования регулярно. Бывало по несколько собеседований в день. Начиная к какого то момента реально уже перестаешь запоминать кому и что конкретно было нужно. Даже если перед выходом почитал. Да и смысл теряется — большинство компаний полный треш и откровенно говоря не стоят того, что бы что-то запоминать, но ясно это становится уже после визита. Был например случай, когда я пришел, а меня не стали собеседовать. Вы не изучили наш продукт? А мы вам забыли сказать это сделать? Идите домой, денек поизучайте и возвращайтесь. При этом noname контора, собеседование на senior+. Кандидатов прямо скажем дефицит.
С собеседованием большого количества кандидатов та же фигня. Если нет HRа, просмотрев пару сотен резюме в лучшем случае об отобранных кандидатах можно запомнить только какую то одну яркую деталь, и то, если она была.

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

Взялся за раз изучить рынок Питера и не хотел это растягивать. По большей части собеседование занимало не больше часа, и если взять выходной то вполне можно три места посетить за раз. Рекорд — около четырех часов. Час с HR и три на техническом.Туда в итоге и устроился, хоть и сильно не сразу.
В сентябре собеседовался в Норбит…
Нашли меня в LinkedIn, пригласили на собеседование: " Приглашаем к сотрудничеству программиста/ведущего программиста .NET, в будущем руководителя отдела разработки...".
Собеседовали сначала по скайпу (сотрудник вроде как в командировке), что было несколько непривычно, собеседника я не видел.
Задавали вопросы — я отвечал, вроде всё хорошо прошло. Поговорили о проектах… У меня есть свой «домашний проект» который приносит мне некоторую прибыль и не отнимает много времени…
Потом подошел еще один сотрудник, задал несколько вопросов, пообщались. Я не настаивал на какой-то конкретно вакансии, более того, я сказал, что несмотря на имеющийся у меня опыт готов начать с просто программиста, чтобы узнать внутреннюю кухню и потом уже на что-то рассчитывать (у них и в настоящее время открыты вакансии, которые мне озвучили). Выказал свои ожидания…
В итоге сообщили, что через пару дней пригласят на повторное собеседование на котором конкретно договоримся по работе/деньгам…
Через несколько дней письмо от HR менеджера компании — отказ — что-то вроде " вы нам не подходите".
Хм, думаю, что… вообще? Попросил пояснить причину — уже 2 месяца тишина…
Вот, думаю, это нормальное поведение для приличных компаний?
Часто бывает, что человека все прособеседовали, все одобрили (включая руководство), а потом девочка-HR решает вдруг, что кандидат «запросил слишком мало денег, значит — быстро сбежит» и отказывает.

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

У меня примерно так в университете дело было. Всех устроил, но я был в шоке, когда вместе с моим «будущим» директором стояли в отделе кадров, а меня «завалили», т.к. ВУЗу не пристало брать на работу человека без диплома и с гражданством другой страны. И им было абсолютно накласть на то, что работы «от забора и до заката», а я уже почти пол-года отработал без трудоустройства. Вот как-то так.
P.S. несостоявшийся начальник был поражен больше меня, особенно, когда ничего с этим поделать не смог.
В нормальной компании HR обслуживает деятельность, а не руководит ею, и если вы добрались до потенциального начальника, то HR уже выполняет роль исключительно организации желаний.

В вашем случае это просто дичайшее исключение какое-то.
Вполне реальный случай, лично наблюдал. Хорошего специалиста завернули…
Да, я видел несколько записей в Сети на эту тему… Но, думаю, уместно ли будет поинтересоваться у Директора регионального центра (визитку дал после собеседования) о причинах? Да и два месяца прошло…
У меня был случай, что в самом конце собеседования HR спросила: «Хотели бы вы снова работать в предыдущей компании?».
Ну и что тут отвечать?
Хотел бы — а зачем ушли?
Не хотел бы — вы конфликтный человек?
Хм, а может это такой контрольный вопрос, чтобы избавиться от кандидата, по неизвестным причинам.

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

UFO just landed and posted this here
Еще есть немного другой вопрос: «Почему ушли с предыдущего места работы?». А я с одного места работы ушел, потому что нагрузка была большая. Как-то так получалось, что реально не успевал. И на собеседованиях эта формулировка всегда вызывала недоверие.
— Почему ушли?
— Работы было много
— А вам значит надо, чтобы работы было мало?)
В двух словах и не объяснишь, почему считаешь что много и сколько это вообще. Но потом я придумал хороший ответ. Я говорю: «А вы считаете, что работы много не бывает?)». И обычно сразу всем всё становится понятно.
Можно сказать, что руководство экономило на людских ресурсах и вы были не согласны с этим.
Это еще нормально. Бывает и похуже. Вот, например, у меня с Акронисом:
Сначала было интервью по скайпу, потом личное (пришлось ехать из другого города). В результате мне позвонили и предложили оффер. Я взял время на то, чтобы подумать и пройти оставшиеся запланированные собеседования. Договорились, что я постараюсь побыстрее закончить собеседования и что они мне перезвонят через неделю. Через неделю не перезвонили. И чрез 2 тоже. Достучался я до них только через месяц, когда уже свернул все другие предложения, и узнал, что мой оффер отклонен.
Получается, они обнадежили меня оффером, заставили завершить остальные собеседования, после чего целый месяц динамили, поленившись хотябы сообщить, что мою кандидатуру больше не рассматривают.
UFO just landed and posted this here
Я обычно всегда рассматриваю вакансии, которые мне предлагают.
Только мне не нравится, когда мне не могут озвучить мой оклад при работе у них.
Когда HR-ам задаешь вопрос про оклад, они отмалчиваются. А потом при личной встрече называют смешные суммы.

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

По личному мнению, оптимальное количество собеседующих — двое. Первый — непосредственный руководитель, второй — hr.

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

Так сколько руководителей-то надо в итоге?

Обычно же собеседования идут в несколько этапов. Я как раз их имел в виду. На технической части собеседования (обычно это первые этапы) достаточно пригласить непосредственного руководителя. Хотя, чаще всего, он и проводит собеседование. На финальной части, когда технические вопросы выяснили и все всеми довольны, хорошо бы привлечь руководителя на одну ступень выше.

Однажды откликался на вакансию админа на HH — мне без всяких слов в ответку просто скинули анкету на 5 страниц, из них треть вопросов — переписывание резюме, треть вопросов из разряда «что такое TCP/IP» и треть какой то непонятно «философской воды» аля «у главбуха и гендира сломались компьютеры — кого спасать раньше?». В итоге на 2м вопросе — психанул и заполнил в стиле «бывшее место работы — красная площадь д1, охранник Ильича» =) Ответа я тогда так и не получил…
Для SQL, у меня, например, есть задача, которая проверяет большинство основных принципов языка при помощи одной таблицы с одной колонкой. Людям нравится, особенно когда объяснишь назначение задачи.

Можете озвучить задачу и её назначение?

Озвучил в личку. Назначение простое: быстро понять на сколько соискатель знает SQL (умеет "думать на нём" и умеет его применять).

Можно мне тоже? Интересно посмотреть :)

и мне, тоже пожалуйста.
И мне, пожалуйста, если не сложно
И мне, пожалуйста
Пожалуйста, мне тоже, если не сложно. Стало очень интересно.
И мне, если вас не затруднит. Заранее спасибо!
Loriowar Вот реально: проще было бы текст опубликовать… ведь не все желающие здесь отметились — и в личке ведь наверняка куча любопытных?..

PS но повторю за остальными — мне также любопытно.
PPS ошибся комментом :(

Всё-таки пока посчитаю сколько заинтересованных. Если поток не иссякнет — опубликую ))

Выкладывайте уж в открытую :-) Хорошая задача так и так по рукам рразойдётся.

И мне, тоже вышлите, пожалуйста
Я немного припозднился, но мне тоже было бы интересно посмотреть.
Если не затруднит, и мне :)
Я часто на экзамене прошу написать запрос, находящий всех авторов, которые все свои книги написали в соавторстве. В единственной таблице два столбца: (автор, книга).
select distinct author from ( select book from author_book group by book having count( author ) > 1 )

Правильный ответ?


Хотя на графе запрос по проще будет:


select distinct( author ) from books where authors.length > 1

ну попробуйте сами:
create table author_book (author varchar(100), book varchar(100));
select distinct author from ( select book from author_book group by book having count( author ) > 1 );

Да мне лень сервер поднимать :-) Но да, в списке книг же нет авторов..


select distinct author from author_book where book in ( select book from author_book group by book having count( author ) > 1 )
Сорян, что только сейчас(до этого не читал статью), у меня получился такой запрос:
SELECT DISTINCT author FROM books WHERE book IN (SELECT book FROM books GROUP BY book HAVING count(author) > 1);

Результат вроде верный получается, но наверняка есть более красивое решение
Нет, я допустил ошибку, не учел «ВСЕ». Тут исправленный вариант, но короче на чистом SQL пока не придумал. Поделитесь более коротким вариантом

Из моего опыта:
9 Лет опыта в Angular.js в требованиях
2 года опыта в Angular.js 2 в требованиях.


Так же очень низкие зарплаты для фулл стека (под 20 вакансий) порядка 8кРублей


На том же сайте junior angular/node.js/php за 15 килорублей без опыта.


Во время собеседования:
Почему мы должны взять вас? На собеседовании на фулл стек 12кРублей.
Ответ: Я единственный кто пришел на собеседование. Потом взял и вышел. Позвонили и получили отказ.


"Чем отличается класс от структуры?" из собеседования к Node.js.
"Как объявить глобальную переменную в Node.js?" Ответил через global. Отказали сказав что через windowS (Именно с С в конце)
И многие глупые вопросы.

>«Чем отличается класс от структуры?»
У меня пару раз были собеседования где про С# собеседовали с++ники, не имеющие понятия про сборку мусора и освобождение памяти в шарпе. Для себя решил, что в следующий раз так и скажу — давайте меня будет собеседовать специалист по требуемой технологии, а не черти-кто. Лучше пойду на конфликт, чем буду тратить свое время.
«Сколько будет 2^8?»

Этот вопрос проверяет навыки возведения в степень в уме, или кандидат должен помнить таблицу степеней двойки?

Вот даже не знаю что он должен проверять. Но у меня сразу же начинается подозрительное отношение к программисту, который за 2-3сек не может выдать ответ. Скорее всего это обусловлено тем, что при наличии хоть какого-то технического образования и/или после прочтения хотя бы пары книжек по алгоритмам, теории программирования, архитектуре ЭВМ и им подобным, степени двойки запоминаются сами собой.


Помню случай в институте был. Пара какая-то была, кажись по общей алгебре. Что за задание было уж не помню, но суть в том, что нужно было степени чисел записывать и что-то делать на их основе. Вся группа хором диктовала степени двойки до 2^15… а потом то же самое попросили для тройки: все дружно поплыли после 3^4, а преподаватель бодро продиктовал до той же 10 или 15 степени. Так что это, можно так сказать, отличительная черта IT-шника, приобретаемая автоматически.

степени двойки запоминаются сами собой.

У меня они не запомнились. Увидев этот вопрос я стал в уме высчитывать степень двойки, примерно так: 2^3 = 8, значит 2^4 = 16, и 16 * 16 = 256

А я просто пару раз разделил 2^10 на два.
Как то вы больно возвели ваш личный опыт в абсолют. Не все айтишники прошли ВУЗ.

Но большинство читало книги, связанные с их профессиональной деятельность. Вуз — необязательный атрибут и не только из него такое знание может получить. У меня, например, из сравнительно недавно изученного: What every programmer should know about memory и русский вариант. Степени повсюду. Если вдумчиво читать, то запомнятся сами собой… нет от них спасения и в голове они жить будут всю профессиональную жизнь.

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

Не путаю. Но и не утверждаю, что это путь всех программистов. Это только моё мнение, "я так вижу" и так живу. И да, пишу на Ruby/RoR довольно давно и не являюсь "системным разработчиком" по вашей классификации.

Это выступление — хороший пример:


  1. Как делать не надо.
  2. Как под использование какой-нибудь фичи за уши притягиваются примеры.
  3. Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
  4. Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.
Очень простая и быстрая проверка на то, способен ли соискатель хоть немного соображать в технических вопросах. Или, перефразируя, не ошиблись ли HR. Плюс разогревает соображалку соискателя для следующих вопросов.
Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024; отталкиваясь от этого факта и зная как вообще работает возведение в степень, разделим 1024 на 2 и еще раз на 2 :)

Писать код на листочке перестал просить с момента как менеджер сообщил после интервью, что «если после исправления ошибок компиляции заработает — то возьмём» и, что ожидаемо, нормального программиста не взяли.
Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024

Ну тогда надо вспомнить, что 2^10 примерно равно 10^3, что равносильно "помнить степени двойки"

А мне вот код на листочке писать проще, чем возводить 2ку в степень. Я безнадёжен?

Вообще два в восьмой довольно важное число, ибо это ограничение на однобайтовое беззнаковое целое. В седьмой степени — знаковое. У опытного разработчика должно отскакивать от зубов не задумываясь. Если речь конечно не о фронтенде )

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

Просто особой нужды во фронтенде в этом числе нет. Вполне можно быть нормальным фронтенд разработчиком и не сталкиваться с этим. А работать на бекенде и не знать — это кое-что о человеке определенно говорит. Я просто больше по бекендам, по этому мысль о фронтеде пошла в конце )

А можете описать случай, когда бэкендеру нужно это помнить?

Из очевидного, хотя бы IP адреса, это вообще любой айтишник должен знать. Это четыре тех самых беззнаковых целых через точку, если говорить о v4. 255.255.255.255 это любой эникей знает, не то что разработчик. 256 символов в расширенной ASCII кодировке, 256 вариантов кодирования составляющих цвета в RGB, а уж как только вы что-то хотите бинарно закодировать будете спотыкаться об это сплошь и рядом. Два в восьмой это как количество пальцев на руке, вы знаете что их пять, а не пересчитываете каждый раз. Это же чертов байт, основа основ. Понятно, что такую штуку как «слово» или «двойное слово» никто нынче особо не помнит, но байты они везде.
Что уж говорить про маску, где было бы неплохо понимать почему может быть 254 и 252, 248, но не 253 или 245.

Это выступление — хороший пример:


  1. Как делать не надо.
  2. Как под использование какой-нибудь фичи за уши притягиваются примеры.
  3. Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
  4. Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.
ибо это ограничение на однобайтовое беззнаковое целое.
У опытного разработчика должно отскакивать от зубов не задумываясь.

Если человек пишет на языке высокого уровня, то какое ему дело до того, сколько там чисел можно одним байтом записать? Он может что в целом это равно двойке в степени n, где n — кол-во битов. Но зачем ему помнить, что 2^8 = 256, а не 512?

Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи. Если вы пишете на чём-то высокоуровневом и считаете себя хорошим программистом, то обязаны знать нижележащий слой: как он выглядит, как работает, какие особенности. А то с таким подходом уж столько безобразия натворили люди. То кто-то не в курсе про GIL и свято верит в "натуральность" многопоточности, то бездарно берёт bigdecimal и прочие надстройки для длинных чисел и хранят там значения от 1 до 100, а потом удивляется: "чего это всё тормозит и памяти много куда-то уходит?!".


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

> Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи.

Так знание основополагающих вещей — это помнить степени двойки? Программист, который будет думать, что 2^8 = 512 хуже? Я не понимаю как знание конкретного числа коррелирует с остальными вещами.

> В программировании фундаментальные знания

Фундаментальные знания — это не знание цифр, а понимание как все работает.

> Если вы отрицаете это и считаете что уровень языка освобождает от необходимости знать как там всё устроено

Я нигде этого не отрицал, я лишь усомнился в том, что необходимо помнить степени двойки :)
Программист, который будет думать, что 2^8 = 512 хуже?

А программист, который будет думать, что 2*2 = 5? Или что pi в военное время равно 4? Правильно, зачем нам математика, компьютер сам посчитает.

Фундаментальные знания — это не знание цифр, а понимание как все работает.

Вычисление 2^8 связано со свойствами двоичной системы. Двоичная система — это фундаментальные знания для программиста. Так же как знание десятичной для всех остальных специальностей, связанных с расчетами. Возьмете на работу бухгалтера, который не может посчитать, сколько будет 10^8?

я лишь усомнился в том, что необходимо помнить степени двойки

Мне кажется, в том и дело, что это не обязательные знания, которые требуются каждый день. Но если человек «в теме», это запоминается — из статей, книг, или примеров при изучении программирования. Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.
> А программист, который будет думать, что 2*2 = 5? Или что pi в военное время равно 4?

Этот человек очевидно не знает как умножать. Это заставит задуматься. А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.

> Вычисление 2^8 связано со свойствами двоичной системы. Двоичная система — это фундаментальные знания для программиста.

Как и 2^16, 2^24, 2^32, 2^64, 2^128… Вы помните чему равны степени двойки? В какой момент какая конкретно степень двойки становится «обязательной» для знания хорошим программистом?

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

Да, именно поэтому они и забываются. Я вот после этого спора запомнил 2^8 и 2^10, но, возможно, через год уже не вспомню и придется в уме считать.

> Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.

Может ли быть так, что требуя от человека знания чему равно 2^8, вы отсеете много таких людей, кто в силу каких-то обстоятельств это не запомнил, но во всем остальном является хорошим разработчиком?
Требовать помнить значение степени двойки — это как требовать помнить наизусть какой-нибудь метод из библиотеки языка, который еще и не используется никогда.
А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.

Ну, удачи вам с бухгалтером.

В какой момент какая конкретно степень двойки становится «обязательной» для знания хорошим программистом?

В тот момент, когда число бит в общепринятом байте меняется, степень двойки равна этому числу. Сейчас везде применяются 8-битные байты. Здесь вам правильно написали. Это же к вопросу «который еще и не используется никогда».

но во всем остальном является хорошим разработчиком?

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

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

Мы обсуждаем, случай, когда разработчик знает, что в байте 8 бит и 2^8 значений, но не помнит чему равно 2^8. Именно об этом весь этот тред.
Ок, перефразирую. Мне сложно представить хорошего разработчика, который не знает, что в байте 8 бит и 256 возможных значений. И что у него за все время от джуниора до хорошего разработчика не появилось ассоциации «байт — 2^8 — 256».
2^18 я тоже сходу не назову, но не знать 2^8 выглядит странно.
Но не кажется ли вам, что это может быть ошибкой выжившего? Просто вы по каким-то причинам запомнили это число, а другие — нет?

Я, например, в своей карьере чаще сталкивался с ограничениями 4 байтовых чисел (поскольку они реально используются в языках и СУБД, которые я использую), чем с 1-байтовыми.
Не кажется, я уже говорил почему. Оно встречается практически во всех областях программирования. Я запомнил это число не по каким-то непонятным причинам, а потому что занимаюсь программированием и часто его встречаю в разных источниках. Чаще, чем например 2^7 и 2^9.

В любом случае, это не единственный критерий, и к тому же можно просто посчитать в уме. Уж это-то хороший разработчик должен уметь)
Ну так вы поди запомнили, что 2^32 это ~ 4 с гаком миллиарда?
Вы как то резко перевели разговор со степеней двойки на GIL. Я могу знать сколько влезает в одну ячейку памяти но не знать какая это степень двойки. Для веб разработчика это далеко не всегда существенно, это у системных программистов надо такие вещи спрашивать.
так собственно этот вопрос и позволяет понять кто перед тобой сидит. Человек который весь свой стаж просто веб формы фигачит и больше его ничего не интересует, или кто-то поинтереснее.
То есть вы не знаете чем обусловлено то, сколько «влезает» в одну ячейку памяти?
Многопоточность и GIL это еще ладно, заблуждение от банального незнания. Но сколько народу считает GIL проблемой, а не фичей!

Может потому, что для многих эта фича является источником проблем?

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

А что там получается, если выпилить GIL? Другие языки как-то живут без него и ничего, справляются.

Падение производительности от 2 до 25 раз при многопоточной работе. Если интересно, посмотрите оригинальный доклад, там много занятных технических деталей. В других языках все несколько по другому, GIL по сути одна из «фишек» питона, по этому довольно странно когда этот лок называют источником проблем.

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

Питон для вас достаточно высокоуровневый? Вот вам кусок документации стандартной библиотеки из
https://docs.python.org/2/library/struct.html
Тут указано, что вы можете закодировать один байт знаковый или беззнаковый. Нигде не указано, что при этом вы можете закодировать число до 127 или 255 включительно (хотя иногда в таких случаях указывают), потому что подразумевается, что для любого разработчика это очевидно как божий день.
Я уж молчу о C++, который вообще говоря высокоуровневый и char там никто не отменял.

С++ всё же универсальный язык, который имеет как высокоуровневые идиомы, так и низкоуровневые.

Почему-то подумал, что вопрос с подвохом, и нужно спросить, не XOR ли имеется ввиду.

Я иногда хожу на позицию js разработчика и это мне часто помогает подтянуть знания.

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

Если вы не поняли зачем, то, скорее всего, у вас и работодателя разные взгляды на мир и вы вряд ли сработаетесь :)

Очевидно же — вам предстояло бы работать с тем ещё ребусом из легаси кода :-)

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


В ответ 90% людей писали оскорбленные злые письма в стиле "Дурачек что ли? А что ты хотел от тестового задания? Я же делал его кое как. Это же тестовое задание. Но в реальности то я делаю гораздо круче.".


Через 2 недели выгребания помоев и личных оскорблений из почты, перед тем как отправить фидбек, задумываешься: "А может просто написать ему формальную отписку и все?".

Не повезло как-то вам с соискателями… а может вы слишком критично изъяснялись?


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

Да, достаточно критично, но уважительно. Адекватные люди в итоге нашлись и команда собралась =) Кстати, когда люди пишут объяснения к решению — это огромный плюс даже если решение с косяками.

UFO just landed and posted this here
Весело когда рядом с вакансией агенства «для нашего тайного заказчика ищем специалиста» висит вакансия этого самого тайного заказчика с вакансией буква в букву. Но на собеседовании будут тщательно скрывать, чья же это вакансия…

Чаще всего, по куску вакансии гуглится без серьёзных проблем. Но способы "конспирации" агенств порой умиляют. Хотя их можно понять, получить 10-30% от годового оклада найденного кандидата — это немало, в то же время сообщить человеку о хорошей вакансии и не получить за это ничего — обидно.

Вы прямо заинтриговали! Что же это за специалист такой? Как должность называется, если не секрет?

UFO just landed and posted this here

В общем-то, так выглядит большинство долгоживущих энтерпрайзов с "богатым наследием" ))

Мой случай: на собеседовании в крупной компании мне дали вот такую задачу:

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

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

Первые же вопросы — с трудом дотягивают до теста джуниора.

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

Для сеньоров задавать вопросы типа сколько будет 2^8 степени?…
Проще сразу взять реальные задачи из проекта, возможно даже прошлые уже решенные проблемы и попросить предложить гипотетическое решение, а главное обосновать.

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

Дискуссия выше о том, надо ли разработчику знать сколько будет 2^8 говорит о том, что вопрос не такой и тривиальный )
Да, но там скорее не про 2^8 а вообще понимание откуда и зачем надо уметь работать с базовой размерностью в байт.
Я вот совершенно согласен, что если программист редко навскидку скажет что такое ^8 или ^12, то просто знать вплоть до 65536 и уметь быстро просчитать 8 или 12 степеней в уме должен любой джун.
Здесь в комментариях очень много слов по поводу мотивированного отказа.

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

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

Так вот откуда ноги растут....

UFO just landed and posted this here

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

UFO just landed and posted this here
Интересно, как так сложилось, что в суде некому применить закон используя формальную логику?
Ведь раз есть требование, что мотивировка отказа должна быть быть НЕ слабой, то, когда нет отказа, требование не выполнено. Когда нет мотивировки в отказе — требование не выполнено.

Тоесть, такая перестраховка кадровиков не обеспечивает выполнение требования, и должна приводить как раз именно к тому самому сценарию, от которого они страхуются.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Некоторые отказ не присылают, обещая на словах «скоро сообщить» и пропадают. А дальше либо ишак сдохнет, либо шах сдохнет, либо соискатель решит «проехали, хватит ждать, даже если эти позовут, всё равно не пойду». Отказа же нет, ни в устной форме ни в письменной?

Обидно, что у таких фидбэк от тех спецов далее hr не уходит.
В суде потом предъявляется что вакансия одна, кандидатов много и выбрали другого по целому спектру показателей, которые можно дорисовать если нужно. В суде есть шансы только если в отказе будет какая-то дичь в духе «потому что ты черный».
Да, и в любом случае максимум что будет — штраф и моральная компенсация. Что бы обязать нанять человека, суду придется сначала уволить того, который был нанят, а на это ни у кого прав нет.
Sign up to leave a comment.

Articles