LINUX.ORG.RU
ФорумTalks

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

 


0

4

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

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

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

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

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

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

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

Мой любимый вопрос: «Опишите своими словами, что такое транзакции в СУБД».

Ладно хоть не пантомимой просишь объяснить.

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

это ваще ниче не значит.

А с чем это связанно? Есть какое-то логическое объяснение происходящему помимо подлога опыта?

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

А вообще я давно хочу дать не слишком объёмный (строк 200-300) кусок кода на нужном ЯП кандидату и попросить найти все проблемы. Конечно в этом куске кода изначально должны быть аккуратно внедрены проблемы, причём на многих разных уровнях. Неправильный синтаксис, неудачный выбор имён идентификаторов, архитектурные проблемы, алгоритмические проблемы. И будет хорошо виден уровень кандидата по тем проблемам, которые он обнаружит. Плюс это абсолютно типовая для разработчика задача - провести code review. Тут основная загвоздка это потратить время на подготовку такого фрагмента, это задача нетривиальная.

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

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

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

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

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

«Своими словами» подразумевается, что не нужно пытаться вспоминать определения из документации. Люди порой напрягаются, а мне важно понять, осознаёт ли человек вообще что такое транзакции. Я убеждён, что если человек 10 лет работал с бэкэндом, и при этом не понимает, что такое транзакции, не слышал про уровни изоляции транзакций (пусть даже не использовал, но слышать и хотя бы мельком прочитать когда-то должен был), то у него плохие навыки работы с СУБД. А для бэкэндера это самый основной навык, имхо. Конечно я не ожидаю, что кто-то реально в голове держит отличия READ_COMMITED от SERIALIZABLE, но в идеале человек в целом должен знать, что есть несколько уровней изоляции, которые дают определённый баланс между производительностью и корректностью и при необходимости этот баланс можно сместить в ту или другую сторону.

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

А вообще я давно хочу дать не слишком объёмный (строк 200-300) кусок кода на нужном ЯП кандидату и попросить найти все проблемы.

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

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

Ну вот тебе ответ «моими словами», которым я был бы удовлетворён. Транзакция это последовательность SQL-команд, которые выполняются атомарно, т.е. либо применяются все, либо не применяется ни одна. Изоляция транзакций это способность БД обеспечивать имитацию того, что транзакции выполняются последовательно, т.е. запросы в транзакции видят те данные, которые были актуальны на момент начала транзакции. Уровень изоляции транзакций это компромисс между идеальной изоляцией (последовательным выполнением транзакции) и производительностью (т.к. реально траназкции выполняются параллельно и для изоляции используются разного рода инструменты вроде блокировок, версионирования строк БД).

Ответ, которым я не был бы удовлетворён: «Мы обычно транзакции не использовали, я точно не знаю, что это такое».

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

А с чем это связанно? Есть какое-то логическое объяснение происходящему помимо подлога опыта?

мне кажется дело в целеполагании и какой-то безответственности что ли.

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

ну и перекидывание на соседа. «как программу-то запустить?» — это делалось само, иногда вспоминают девопсов.

как сконфигурировать софтину науке пока ваще неизвестно.

и какбэ да, мы про 5+ лет опыта и за 30+ годиков.

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

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

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

Ну вот тебе ответ «моими словами», которым я был бы удовлетворён.

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

Ответ, которым я не был бы удовлетворён: «Мы обычно транзакции не использовали, я точно не знаю, что это такое».

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

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

65 городов одновременной продажи авиабилетов 0 с какого года?

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

можно омазатся логическими часами конусом Миньковского и сложностью(дороговизной) полного ACID

но это риторика

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

как ни странно но SQL-команд необязательный терм в вашем ответе

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

Конечно я не ожидаю, что кто-то реально в голове держит отличия READ_COMMITED от SERIALIZABLE

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

дают определённый баланс между производительностью и корректностью

при необходимости этот баланс можно сместить в ту или другую сторону

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

Аналогично с вопросами про аномалии. Некоторые собеседующие из-за своей некомпетентности ожидают перечислений аномалий (и вообще считают разговор об этом осмысленным для себя). Дело в том, что согласно работы (которая признаются индустрией) покрытие вопроса аномалий стандартом неполно и расплывчато. Оно бесполезно как теоретически, так и практически (хоть и копи-пастится повсеместно даже документацией постгреса). Работа критикующая их предлагает альтернативный перечень аномалий, попытку дать их формальные определения и попытку предложить альтернативные определения уровней изоляции, которые должны были быть на тех страницах стандарта. Но индустрии и этой работы оказалось недостаточной чтобы иметь номенклатуру и определение анонималий, поэтому заинтересованные используют наименования (и, видимо какую-то другую модель понимания) из уже третьей работы. Собеседующий, ставящий вопрос в тупой формулировке очевидно сам в этой теме не разбирается и сути не понимает. Реально корректные ответы по этой теме, я догадываюсь, могут давать очень немногие. Если говорить обо мне, например если формальные запрещенные шедулы некоторых аномалий по бренсону я пыхтя напишу, то о равнозначности g2 anti-dependency cycle по Адье и write skew по Бренсону рассуждать даже не возьмусь. Воспринять собеседующий их не сможет в силу некомпетентности. Его постановка вопроса вообще препятствует ответу. О чем вообще разговор? Собеседующий предлагает поговорить о бессмысленном мусоре в котором он ничего не понимает? Что должен делать собеседуемый? Прикинуться таким же дурачком как собеседующий, который прочитал про 4 аномалии в документации, но не смог обнаружить бестолковость этой информации?

Кстати, аналогично с ACID. Аббревиатура не имеет смысла, это просто буквы сложили чтобы получилось словарное слово. Понятно это становится если при чтении не просто читать, а немного вдумываться. Если собеседующий задает вопрос «что такое ACID», он ожидает ответ «бессмысленная аббревиатура которую ошибочно принято считать свойствами транзакции»? Возможно. Но скорее всего он такой вопрос в такой формулировке задает просто потому, что некомпетентен, и вот мой верный ответ он принять не сможет.

Криво поставленный вопрос ставит кандидата в заведомо проигрышное положение.

Ожидать простых ответов на сложные вопросы может только дурак.

Желательно задавать вопросы о только по темам, где ты настолько компетентен, что способен распознать верный ответ.

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

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

Его ценность я вижу в следующем:

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

Мне думается, это хороший набор качеств вопроса.

Вопрос. Как известно, транзакции в БД выполняются совместно (иногда говорят конкурентно [1]). Мы хотим, чтобы наше приложение работало правильно. Какое исполнение транзакций мы должны считать корректным в этих условиях?

[1] можно говорить concurrently, interleaved, together и т.п. - здесь действительно не важно.

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

Из пяти собеседованных за последние полгода ПХП-шников с типа хорошим уклоном в СУБД никто не ответил.

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

Ответ, которым я не был бы удовлетворён: «Мы обычно транзакции не использовали, я точно не знаю, что это такое».

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

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

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

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

Что-то мне в этом не нравится. Есть какая-то недосказанность, фальш, лукавство.

Когда программируешь уже четверть века (и это только промышленно), для меня например самого некоторые строчки моего резюме звучат как далекие воспоминания. Что-то вроде – а, да, вот как вчера помню… шли мы как-то через джунгли… в далеком 45-м… и тут… ну вот, забыл…

Опыт человека перерабатывается им постепенно. Человек как цельная личность аккумулирует в себе переработанный опыт и переработанные знания. Получается, что человек – больше, чем сумма составляющих его знаний. И когда берут человека на работу, берут именно человека, как нечто большее, чем сумму.

Понимаешь?

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

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

Врунов я особо не видел. В нашем регионе это не развито, видимо культура другая.

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

Ну кагбе прям все 100% не подразумеваются. Я как раз и привел как пример бывшую, которая от подпадания под этот стереотип, пусть и с трудом, но ускользнула.

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

Врунов я особо не видел. В нашем регионе это не развито, видимо культура другая.

извини, а это что за регион такой?

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

Лол, это называется кризис-менеджмент,

Лол, вы снова несете глупости по причине полного непонимани о чем рассуждаете.

Забавно ;)

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

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

mrdeath ★★★★★
()

Нашли меня сами. Пригласили на собез. Мой опыт: 20 лет в программировании.

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

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

В городе наводнение, сидит мужик(М) на крыше дома и молится.

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

М. -Нет, не нужно меня спасать, мне бог поможет.

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

М. -Нет, не нужно меня спасать, мне бог поможет.

Вскоре затопило дом и утонул мужик.

Предстал мужик перед богом(Б) и спрашивает его.

М. -Как так, я молился, верил в тебя, а ты меня не спас, почему?

Б. -Я тебе лодку послал, ты отказался. Вертолет послал, ты снова отказался. Что тебе не нравится?

qulinxao3 ★☆
()

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

Потому что был неописуемый случай!.. %)

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

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

qulinxao3 ★☆
()

Мой залайканный пост где я поднимал тему кумовства видимо специально удалили, потому что у кого-то подгорело. @qount_25, тут какой-то поддержки получить нельзя, сидят тут в основном одни неадекватные адепты IT-шки-недопогромисты, которых в своё время пропихнули по знакомству кнопки нажимать.

Skullnet ★★★★☆
()
Последнее исправление: Skullnet (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

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

Если у человека 10 лет опыта и он этого не знает, то уже никогда не узнает.

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

Идол для поклонения адептов ООП. :P

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

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

тут какой-то поддержки получить нельзя

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

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

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

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

А в гитхаб смысла лезть нет,

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

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