LINUX.ORG.RU
ФорумTalks

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

 


0

4

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

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

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

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

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

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

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

Это до первого роста клиентов.

Какого «роста клиентов»? ) У большинства лоровцев профдеформация и аберрация сознания из-за работы на монополистов. Подавляющему же большинству задач в реальном мире никакой «рост клиентов» не светит.

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

Бывает, кандидати в строку конвертируют и потом назад.

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

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

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

на дом, то там же чатгпт

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

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

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

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

У нас были преподы … гоняли по написанному

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

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

Подавляющему же большинству задач в реальном мире никакой «рост клиентов» не светит

Если речь про бизнес, то такие долго не задерживаются. Их съедают монополисты или конкуренты. Хотя да, забвение может занимать годы, даже десятилетия.

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

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

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

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

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

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

Ты так говоришь, будто бы я придумал планку собеседования на нашей галере. Есть даже документ (написан задолго до меня), с skills matrix и вопросами.
Я тебе даже больше скажу, у нас часто проводят его парами и я там далеко не самый злой.

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

Напоминаю, что ваш чел 15 лет успешно кодерствовал ) И это куда больше говорит о нем, чем ваши экзамены по «БАЗЕ»

А генерал положивший 100 танков при штурме канавы до этого 50 лет нес службу. Лично мне, «сидение» ни о чем не говорит. И то, что всякие ФАНГи проводят собеседование (хоть у тебя и 30 лет опыта), просят написать код на этом собеседовании мне говорит, что я на верном пути.

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

Но ведь общее понятие базовых вещей быть должно.

скромнее надо быть, товарищ (с)

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

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

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

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

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

Ну это же собеседование, а не реальная жизнь. Задачи (и их решение) отличаются. На собеседовании тебе дают написать LRU кеш а в реальной жизни ты берешь Гуаву. :)

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

На счет волнения я не согласен. По поведению человека же видно, что мешает ему решить задачу.
Вот пример популярного сценария. Человек более-менее правильно рассказывает словами как решить задачу. Потом приступает к реализации описанного им же алгоритма и видно, что писать то он не умеет — у него вызывает трудности написание цикла по обходу массива в обратном порядке. То есть, словами он говорит, что нужно обойти массив в обратном порядке а как это выразить на Жабе не знает.
Также часто заявляют, мол ой, я давно не работал с массивами, я эксперт в списках. Не беда, говорим мы: давай переделаем все на ArrayList<Integer>. Думаешь это ему помогает?
Оно сразу видно, может человек писать код или нет. Видно, как он на подсказки реагирует.

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

вспоминается следующая мета-фора:

в учебнике географии? 6-7-8клс (хз) была в разрезе схема конвекции воды - неба горы склон берег шельф глубины

«рост» в индустрии это отход от берега в горы - и высота от уровня моря растёт. - при падающей глубине знаний грунтов :)

Булшит - джоб не вовсём верно

но айти как и прочие оффисные клерки (чесно гря айти более всёж требовательно к контингенту) приемлемая форма резервирования потенциально умных

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

откликнулся лишь цб :) - т.е реально дефицит настолько в компетентных «МАСКАХ» что кадровые избегают рисков при найме - т.е модус операнди чиновников а не голодных венчуров c 5 сольдо на поле чудес

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

Как по мне, то проблема еще в том, что резюме миллионы, все они +- одинаковые и даже толковый специалист теряется в этом море. Ну и еще некомпетентные кардовицы.
Часто в резюме можно встретить ссылку на пустой Гитхаб!

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

см мозг фирмы Стафорда Бира - почему адмирал топящий у-лодку своим ложным приказом достоен повышение

а лица выполнившие и тем самым выбывшие из состава флота - обелисков

ваще кибениматика реальная наука

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

по ходу включу спам если икру минтая трески сазана сельди надоест

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

я давно не работал с массивами, я эксперт в списках.

роди меня обратно

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

собеседования рулят

ибо показывают протокол коммуникации

«проблема» имхо что ищать не там где «потеряли» а там где «светло»

с закономерным итогом что где «светло» уже сусеки пусты

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

имхо скауты обычно мужики ( ну если верить бейсбол фильмам)

кадрицы они же обороняют крепость осаждаемую полифемами

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

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

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

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

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

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

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

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

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

И то, что всякие ФАНГи проводят собеседование (хоть у тебя и 30 лет опыта), просят написать код на этом собеседовании мне говорит, что я на верном пути.

Ваш знакомый наверняка успешно писал код и при приеме на места своих работ )

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

Ваш знакомый наверняка успешно писал код и при приеме на места своих работ )

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

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

По любому это не ваша забота, а работодателя. Работодателя он устраивает. Не нравится - становитесь работодателем и формируйте себе персонал из тех кто нравится.

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

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

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

Речь о работодателе вашего знакомого, а не о вашем ) Вашего работодателя, посредством вас, как собеседователя, он не устроил )

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

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

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

Я не понял в чем был смысл этого вопроса

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

Не прошёл.

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

откликнулся на 4 вакансии

qulinxao

Наверное, они тебя просто не поняли и на всякий случай решили отморозиться. Я вот уже который год твои посты читаю, а понимаю всё равно от силы процентов 20 %)

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

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

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

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

За 20 минут накодил: https://go.dev/play/p/gZPJVhQp_y8

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

Я однажды проходил обучение с одним архитектором, он не испытывал проблем с кодингом. Вроде бы не кодить могут всякие enterprise architects, но тогда вопрос, что они делают на вакансии, где кодить нужно.

Вторую за 10 накодил: https://go.dev/play/p/8F_GBVSIQQr

Минут пять думал, можно ли сделать одновременно линейное исполнение и in-place. Кажется, что нельзя. Если бы значения элементов не превышали длину массива, тогда можно было бы.

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

можно ли сделать одновременно линейное исполнение и in-place. Кажется, что нельзя.

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

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

К сожалению, не прав. Я думал про нечто вроде LC-41, но здесь это не применяется.

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

физбаз барометр ия по [1]

from itertools import takewhile,product
def increRIGHT(n):  return [int(d) for d in str(int(''.join(map(str,n)))+1)]

def all2all():
  datas=[[1,2,3],[1,2,9],[9,9,9],[9,9,9,9,0,9,9,9]]
  ncodes=[(n,v) for n,v in globals().items() if type(v)is type(lambda:0) and n.startswith('incre')]
  for data,(n,code) in product(datas,ncodes):
    print(f'{n}({data})'.rjust(50)+f'=>{code(data)}')

def incrementTAKEWHILE(n):
    if set(n)=={9}:
      return list(_:=(1,*[0]*len(n)))

    o,p,i=list(n),1,len(n)
    for i,v in takewhile(lambda x:p,enumerate(reversed(o))):
      p,o[~i]=divmod(v+p,10)
    return o  

def incrementWHILE(n):
    if set(n)=={9}:
      return list(_:=(1,*[0]*len(n)))

    o,p,i=list(n),1,len(n)
    while p:
      v=o[i:=i-1]
      p,o[i]=divmod(v+p,10)
    return o  

def incrementENUM_BREAK(n,p=1):
    o=n[::-1]
    o.append(0)
    for i,v in enumerate(o):
      p,o[i]=divmod(v+p,10)
      if p==0:
         break
    while o[-1]==0:
       o.pop()
    return o[::-1]

all2all()

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

За 20 минут накодил: https://go.dev/play/p/gZPJVhQp_y8

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

Вторую за 10 накодил: https://go.dev/play/p/8F_GBVSIQQr

Интересно, что вторая заняла больше времени. Мне первая проще кажется.

Я однажды проходил обучение с одним архитектором, он не испытывал проблем с кодингом. Вроде бы не кодить могут всякие enterprise architects, но тогда вопрос, что они делают на вакансии, где кодить нужно.

Чем выше должность тем больше на тебе управленческих задач: встречи, планерки, отчеты и т. п. Времени на прям само программирование может не оставаться. Его коммиты могут состоять в основном из правки конфигурационных файлов, небольших PoC. Но это от компании/проекта зависит и ее размера. Чем больше контора, тем больше расходов на управление.

Ну вот, простые же задачки. И рассуждения твои здравые. А то тут бучу подняли, будто бы это красно-чёрное дерево с нуля написать просят.

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

Согласен, круто!

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

При желании, на Perl можно писать использую любой подручный язык. :)

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

физбаз барометр ия [2]

«два указателя/индекса»


def a(n):
    r=len(n)
    for l in range(r):
        if(v:=n[~l]):
            n[r:=r-1]=v
    n[:r]=[0]*r
    return n

for b in [0, 1, 5, 0, 6, 2, 0],[],[1,2,3],[0],[0,0,0,0]:
    print(b,'=>',a(b.copy()))

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

Устный «экзамен» - а собес это всё таки фильтрация

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

не нуна глязи

class Solution:
    def moveZeroes(self, n: List[int]) -> None:
        r=0
        for  e,v in enumerate(n):
            if v==0:continue
            n[r],r=v,r+1
        n[r:]=[0]*(len(n)-r)

let moveZeroes=n=>{
    let l=0,r,d=n.length
    for(let r=0;r<d;r++)
        if(n[r])
            n[l++]=n[r]
    while(l<d)
        n[l++]=0
    return n
}
/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function(n) {
    let i=0,t=0,l=n.length
    for(;i<l;i++)
        if(n[i]){
            n[t++]=n[i]
        }
    while(t<l)
        n[t++]=0
    return n
};

ваще физбаз нужен именно хотябы посмотреть сколькими пальцами и какие символы на клаве собеседник где ищет :)

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

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

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

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

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

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

тот же литкод много хуже кодефорса ибо

первый бизнес проект а кодефорс чисто для https://wiki.c2.com/?MentalMasturbation ну и в царя горы

жаль что вместо инструментов craft'а наиболее популярны инструменты trade'а

ибо «бесплатное хуже дорого» обще распространённая эвристика

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

думал, что код на питоне легче читается

От писателя же зависит %)

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

lc 41:)

class Solution:
    def firstMissingPositive(self, n: List[int]) -> int:
        l=len(n)+2
        o=[i==0 for i in range(l)]
        for e in n:
            if e>=0 and e<l:
                o[e]=1
        return next(i for i,v in enumerate(o) if not v)
 

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

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

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

лоль что

книжное с выходом на машины и просто интер...вное современное в перемешку (типо хронологии)

языки:

игры с чипом(структурный асм ? по типу наверно бероузза алгольного)

basic спектрума и больше всёж вильнюс укнц и между в перемешку lisp prolog algol-60 и форт и просто машкод в мнемониках (т.е асм но без макр и прочей инструментальщины чисто как выдоча мнемоник каким нить debug.com )

turbo/borland pascal

c /++ чут ка bat cmd java apl/j/k hasckel ml :)

golang

js

и уже после golang вышел в python

питон хорош ибо можно ручнить(если ты джуна) а можно import и вообще трансформации ибо python если их основной фонд Тима Петерса и прочих титанов не выставит на мороз вполне современный pl/i

Лутц(ща https://learning-python.com/about-lp6e.html ) прав что в языке много не просто лишнего - а необходимого к знанию ибо вот

впрочем ruff и причие @lint@ вполне индустриальные инструменты

и курни всёж:

import this
import inspect
"import";print(inspect.getsource(this))
import antigravity

го лэнг вполне хорош как цель для транспилинга

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