LINUX.ORG.RU
ФорумTalks

На собеседовании спросили пользуюсь ли я vcs и что такое класс

 


0

4

Нашли меня сами. Пригласили на собез. Мой опыт: 20 лет в программировании. Человек (технический), который собеседовал, был старше меня на десяток лет минимум - даже не удосужился посмотреть в резюме, потому что если бы посмотрел, то можно было бы сразу увидеть ссылки на мой опенсорс в гит-репозиториях.

Из других вопросов:

  • Что такое ssh
  • Как зайти по ssh без пароля
  • Что такое метапрограммирование
  • Что такое база данных
  • Что такое…

Вот это вот «Что такое» практически через каждый вопрос. У меня дар речи пропадал с некоторыми вопросами. И самое главное, что я не первый раз уже с таким сталкиваюсь.

Это какая-то дикая смесь humiliation ritual с неумением собеседовать и неуважением к кандидату. В принципе, понятно, что сейчас времена такие, но я вам могу сказать по опыту с недавними собеседованиями в западных компаниях – там хотя бы смотрят в резюме, если приглашают на собеседование. В РФ просто сразу практически понятно, что они не потрудились даже открыть резюме, ладно там внимательно прочитать.

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

Ответ на: комментарий от Skullnet

А что тебе кроме push/pull/commit/revert и add надо? В 95% использование гита это именно это

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

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от Lordwind

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

сначала срал потом сам же героически разгребал? знаем-знаем таких

asdpm
()
Ответ на: комментарий от Lordwind

угадай кого я возьму при прочих равных

Душевнобольного.

thesis ★★★★★
()
Ответ на: комментарий от Lordwind

То есть мне надо перестрелять всех на работе?

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

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от asdpm

Ответственность - это не умение себя бить в пяткой в грудь, а умение анализировать ошибки и работать с последствиями. Все знать и уметь невозможно. Но можно быть готовым к «а что если?». У тебя уже с порога только 1 вариант ответа и тот в духе «сам виноват». Тут просто кладезь провалов по софтам. Вся суть лорчика.

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

И сразу видно кто кнопочки тыкал 20 лет, а кто

да нет, ничего не видно. это просто выдуманный тобой тупак.

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

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

asdpm
()
Ответ на: комментарий от slackwarrior

Копаться в говне не стыдно — стыдно этим гордиться и получать от этого допаминовый приход

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

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от asdpm

я могу тоже дебильных вопросов напридумать и сказать «сразу будет видно кто ко-ко-ко»

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

выдуманный тобой тупак

А потом даешь задачу кнопкодаву смержить ветки, слить коммиты и конфликты решить. А он ее 2 дня делает. Тупак, да, но не мой.

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от vbr

«Опишите своими словами, что такое транзакции в СУБД». Если ответ удовлетворительный

А что там удовлетворять-то?

Расскажите, что вы знаете об уровнях изоляции транзакций в СУБД

В принципе туда же. Вопрос сферичный, ответ будет такой же.

anc ★★★★★
()
Ответ на: комментарий от Lordwind

А потом даешь задачу кнопкодаву смержить ветки, слить коммиты и конфликты решить. А он ее 2 дня делает. Тупак, да, но не мой.

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

asdpm
()
Ответ на: комментарий от vbr

«code review» 200-300 строк кода это задача крайне сферична, может быть и достаточно простой, а может оказаться непосильной за отведенное на это время. Знаю один кусок кода, его исторически (ещё с фокс про под дос) как копипастили переписыванием на разные синтаксисы, так и копипастят. Вникать в эту лестницу из if желания не возникает, работает не трогай.

anc ★★★★★
()
Ответ на: комментарий от vbr

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

В идеале человек должен знать разницу между архитектурами СУБД, но что-то мне подсказывает, что когда вы спрашиваете конкретного соискателя то подразумеваете не сферичную СУБД, а вполне конкретную.

anc ★★★★★
()

На собеседовании спросили пользуюсь ли я vcs

Я тут подумал, хорошо ведь, что не cvs.

ya-betmen ★★★★★
()
Ответ на: комментарий от vbr

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

Это бред. Вы нифига не шарите в теме и ещё пытаетесь кого-то на эту тему собеседовать. А понятия версионность и блокировка для вас походу вообще темный лес.

anc ★★★★★
()
Ответ на: комментарий от asdpm

Ты прекрати между строк читать и выдавать свои фантазии за мои слова: На собеседовании спросили пользуюсь ли я vcs и что такое класс (комментарий)

Я спрашиваю про ветки, а не репозитории, 30% не могут ответить что такое ветка. Я хочу услышать не устный скрипт, а знает человек или нет команды кроме pull, 20% ничем кроме clone/pull ваще не занимались. Да даже простые вопросы на reset/revert уже ставят в тупик половину, даже без опций. У нас никто попу синьорам не вытирает, если происходит что-то нестандартное, он должен сам знать и уметь решать проблемы. Если можешь предложить свой не-говновопрос по гиту, давай, блесни интеллектом. Но, возвращаясь к теме ТС, 20 лет назад про это не спрашивали, потому что CI/CD был на другом уровне, а сейчас 10 релизов в день это норма.

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

ты похоже изъясняться не умеешь (а возможно и думать), потом еще не можешь свою ошибку увидеть.

переносить коммиты между изолированными ветками (их минимум 4)

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

asdpm
()
Ответ на: комментарий от asdpm

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

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

даже простые вопросы на reset/revert уже ставят в тупик половину, даже без опций

в гите ui убог, плохо организован, неортогонален. требовать помнить команды и опции не всегда разумно.

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

asdpm
()
Ответ на: комментарий от Lordwind

не-говновопрос по гиту, давай, блесни интеллектом

ой, так ты же на разгребание говна всё намекал в контексте гита. поэтому тебе только такие вопросы:

вопрос 1. вы работаете с неприятными людьми. на серверах обнаруживаются файлы с виндозными переводами строк. расскажите мне в деталях об этом механизме. проверять буду по вот этой таблице https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2Fri949m7r8f8d1.png%3Fwidth%3D1527%26format%3Dpng%26auto%3Dwebp%26s%3Dae599caaf22f678468f7eb0d7ff288031958f8ed

вопрос 2. вы работаете с неприятными людьми. у них закомичен файл с настройками (напр. .env). вы не можете добавить его в .gitignore. вы не можете случайно его закомитить и запушить свои изменения в этот файл (после пуша работает автоматика). но вам нужно редактировать этот файл (чтобы записать ваши локальные настройки). как заигнорить этот файл. нужно назвать не менее двух способов. подглядывать и гуглить нельзя. ответ в real-time.

ответ нужен конкретный, с синтаксом и пр.

не менее двух способов!

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

asdpm
()
Ответ на: комментарий от asdpm

дисклеймер по вопросу 1. я разбираться не стал (не спортивно, да.). виндовод перешел на виртуалку с линуксом. на юникс-машинах вызывал find ... xargs ... dos2unix, файл конфигурирующий это в гите удалил. проблема ушла.

asdpm
()
Ответ на: комментарий от Lordwind

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

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

человек не умеющий ясно выражать мысли - это бывает

но программист не понимающий этого - это мудак, а не программист

asdpm
()
Ответ на: комментарий от asdpm

По п1 я такое решал через git config, когда решил с винды поработать, но механизм не расскажу. По п2 без контекста гадать не буду, потому что не понятно что там за автоматика и почему нельзя добавить в gitignore. Без гуглежа предположу, что все равно надо закомитить, только сквашнуть с форсом.

Но знаешь в чем твой прокол - «вы работаете с неприятными людьми». Зачем мне наниматься на такую работу, если там такие люди? Ресеты, ребейзы, конфликты это техническая необходимость. А вот отсутствие элементарных рабочих процессов, линтеров и тестов это как раз то говно, без разгребания которого уже не вставляет.

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

человек не умеющий ясно выражать мысли - это бывает

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

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 2)
Ответ на: комментарий от Lordwind

в вопросе я описываю ситуацию когда ветки не имеют общей базы слияния

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

если бы ты именно это имел в виду, то это называется disconnected history или orphan branch.

и вообще намеренно такое использовать - это очень специфично

твой прокол

прокол твой всё же

asdpm
()
Ответ на: комментарий от asdpm

Только если контекст нашей беседы — ресторан.

Rastafarra ★★★★
()
Ответ на: комментарий от asdpm

намеренно такое использовать - это очень специфично

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

Lordwind ★★★★★
()
Ответ на: комментарий от asdpm

роме SERIALIZABLE никакие уровни не нужны, переключите в конфиге и забудьте, следующий вопрос

Я вот сейчас листаю «PostgreSQL 15 Изнутри» Рогова и там он пишет, что так просто переключить не получится. Потому что:
* это все же медленней, так как Постгресу приходится делать больше проверок, откладывать некоторые транзакции и т. д.
* желательно теперь свои читающие транзакции помечать как read only. Так должно быть быстрей, так как Постгрес сможет лучше их планировать.
* часть транзакций может обрываться (не только по делу но и ошибочно, false positive), потому приложению нужно уметь их перезапускать.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

не читал Рогова, нет времени к сожалению, хотелось бы конечно

потому приложению нужно уметь их перезапускать

транзакции вступившие в конфликт падают и на repeatable read. и их точно так же «нужно» перезапускать. вы сейчас делаете это на repeatable read - значит видимо сможете на serializable.

false positive

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

это все же медленней

конечо, да еще и память нужна чтобы эти графы хранить.

но мне думается, если не разумнее, то может быть справедливее было бы сравнивать с serializable в блокировочной БД. ну или объективнее это было бы.

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

asdpm
()
Последнее исправление: asdpm (всего исправлений: 1)

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

Тут предлагают какие-то странные вопросы, про сферические транзакции в вакуумной СУБД и прочие «что такое класс?» (класс – это на старорежимной круто, клёво или как сейчас по модно-молодёжному?)

Нет, собеседование – это «вашими обязанностями будет: бла-бла-бла», «вы готовы их выполнять?» Остальное есть в ТК РФ: смотровые дни, испытательные сроки, временные договоры, оформление как самозанятым «на конкретный код» или там тестирование. С официальными договорами с суммами оплаты и сроками действия, с явным проговариванием, что, буде кандидат устраивать, его берут в штат или к концу срока скажут, что не берут, дабы кандидаты не считали вас кидалами.

P.S. Ответивший на все ваши вопросы кандидат в реале может оказаться неэффективный работником, что «пишет код» 3 – 4 часа в день, а остальное время разговоры разговаривает в курилке, попивая кофий.

mister_VA ★★
()
Ответ на: комментарий от anc

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

asdpm
()
Ответ на: комментарий от mister_VA

что «пишет код» 3 – 4 часа в день

писать код три часа в день - это довольно много.

asdpm
()
Ответ на: комментарий от asdpm

я намеренно привел анти-примеры вопросов

То есть я попросил нормальный вопрос, а ты набросил говна на вентилятор и считаешь это нормальной дискуссией? Я надеюсь собесы в реале ты так не проводишь

Lordwind ★★★★★
()
Ответ на: комментарий от mister_VA

Тут предлагают какие-то странные вопросы

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

Lordwind ★★★★★
()
Ответ на: комментарий от mister_VA

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

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

Остальное есть в ТК РФ: смотровые дни, испытательные сроки

Если представить, что на рынке 90% кандидатов очень слабые, то тебе нужно будет год их по очереди тестировать, чтобы добраться до подходящего.

P.S. Ответивший на все ваши вопросы кандидат в реале может оказаться неэффективный работником, что «пишет код» 3 – 4 часа в день, а остальное время разговоры разговаривает в курилке, попивая кофий.

Понятно, 100% гарантий никто не дает. Но это лучше, чем перебирать их наугад испыталкой.

urxvt ★★★★★
()
Ответ на: комментарий от mister_VA

что «пишет код» 3 – 4 часа в день, а остальное время разговоры разговаривает в курилке, попивая кофий.

Вы только что задели мои чувства!

Aber ★★★★★
()
Ответ на: комментарий от mister_VA

что «пишет код» 3 – 4 часа в день, а остальное время разговоры

Помидоро тайм, на 100 минут работы 30 минут отдыха (25+5+25+5+25+5+25+15)

За 2 сессии работы по 100 минут - 3.3 часа работы и час отдыха. Идеально конечно было бы 3 сессии (5 часов работы). Но тогда нужна тишина (без лишнего общения) и задачи в пуле.

Если нужна коллаборация то это плюс час-два времени на общение как с командой так и по почте. Дейли митинг с докладом о статусах (1 час).

4.5 часа на две с хвостом сессии помидоро (из них 1 час перерывы), 1 часа митинг, 1.5 часа коллаборация в команде и почта, так 7 часов прошли, еще час что-то колупаешь вечером если есть силы.

Итого 3-4 часа работы c кодом :)

Aber ★★★★★
()
Ответ на: комментарий от anc

А что там удовлетворять-то?

Ну примерно 3 из 5 про транзакции ничего не знают. Или прямо говорят, или пытаются играть в бредогенератор. Примерно 1 из 5 говорит что-то похожее на правду, но видно, что он просто читал про это, готовясь к собеседованию. И 1 из 10 уже хорошо знает, что это такое, видно, что в коде писал begin/commit и даже про изоляцию читал когда-то чего-то. Вот с ним и интересно дальше говорить.

vbr ★★★★★
()
Ответ на: комментарий от Aber

1 часа митинг

И месяц на согласование митинга в администрации населённого пункта, да.

Если нужна коллаборация

то это срок за сотрудничество с оккупантами, да.

За 2 сессии

сдать по 5 экзаменов и по 15 зачётов.

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

А теперь внимательно смотрим на моё сообщение и вспоминаем русский язык. Что означает заключение в кавычки слов «пишет код»?

mister_VA ★★
()
Ответ на: комментарий от urxvt

«талантливый человек талантлив во всем»

В том числе и в заблуждениях и ошибках.

на рынке 90% кандидатов очень слабые, то тебе нужно будет год их по очереди тестировать, чтобы добраться до подходящего

Или 5 лет отсеивать на собеседовании, в итоге наняв не справляющегося, а потом год пытаться уволить.

чем перебирать их наугад испыталкой.

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

Ищите не только компетентного, но и способного обучиться под требования.

mister_VA ★★
()
Ответ на: комментарий от vbr

Ну примерно 3 из 5 про транзакции ничего не знают.

Эм... забавно. Вроде на дворе 2025 год, а не 1995 когда это считалось нормальным.

anc ★★★★★
()
Ответ на: комментарий от mister_VA

Не знаю, но стандартная картина из моего опыта и опыта знакомых выглядит так: 2-4 недели контора только ждет кандидата, потом еще пару недель он почти не работает и «вкатывается». Итого, меньше 2-3 месяцев (с момента офера) никакого результата ты не увидишь.

Ищите не только компетентного, но и способного обучиться под требования.

Ну так для этого собеседование и проводят. Ты же предлагаешь, первого попавшегося с улицы брать.

urxvt ★★★★★
()
Последнее исправление: urxvt (всего исправлений: 1)
Ответ на: комментарий от mister_VA

5 лет отсеивать на собеседовании

Я смотрю тут просто собрались эксперты по HR, которые не знают что такое воронка найма.

Смотровой день по несколько человек

Самый смешной коммент пока что. Наверное на галерах так еще принято.

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от Lordwind

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

thesis ★★★★★
()

Ну, с такими вопросами важет только один: насколько низкую зарплату они хотят предложить.

интересно, что дальше-то будет.

Вполне понятно: убогие и тормозные говнопродукты вроде мэйл.ру. Которыми вас заставят пользоваться запретив все альтернативы.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)