Здравствуйте, netch80, Вы писали:
S>>ИМХО, задачи из категории "вот код, посмотрите и скажите нам, что мы увидим на экране" однозначно указывают на профнепригодность интервьюера. И прозрачно намекают на гнилость компании, в которой такие персонажи интервью проводят.
N>Обосновать своё имхо можете? У меня вот оно практически противоположное.
Могу попробовать, но не могу гарантировать, что обоснование вас удовлетворит.
Если кто-то хочет увидеть, какой выхлоп произведет программа, то пускай запустит и посмотрит. Программист же, особенно когда ему нужно разбираться с чужим кодом, сталкивается с ситуациями, когда хотели одно, а получили другое. И вопрос не в том, чтобы угадать, что именно получили. А найти причину, по которой получили именно это. А потом найти способ быстро и, желательно, недорого, привести все к желаемому виду.
Так что задачка "вот код, что он напечатает" сродни начетничеству. И, когда такие способы интервью применяют, то это сродни разговорам о принципах проектирования high-load систем с миллисекундным временем отклика перед тем, как посадить человека фиксить баги в парсинге конфигов для легаси-системы, обрабатывающей 5 запросов в минуту.
Если хочется определить, насколько человек способен разбираться в коде "с листа", то дайте ему фрагмент кода и попросите рассказать, что он думает о качестве этого кода. И почему он так думает. И уже по встречным вопросам от собеседуемого можно будет понять больше, чем от "что напечает этот код?". Если при этом показывать фрагменты своего кода, то можно узнать много нового для себя
S>>Хуже, наверное, только тебовать написать код на бумажке, и чтобы интервьюируемый по памяти выписывал имена всех функций/методов, точно помнил порядок аргументов и, не дай бох, ошибся бы в какой-нибудь запятой.
N>Это уже откровенно демагогическая подтасовка тезиса.
Пожалуйста, читайте то, что написано, а не то, что вам хотелось бы видеть. Если вы не сталкивались с таким способом проведения интервью, значит вам повезло.
N>А вот понимание принципа конкретного фреймворка на уровне "тут надо инициализировать через промежуточную сущность" — может быть и критично.
Я говорил не об этом.
Re[19]: Когда 15 лет опыта, а знаний многопоточки нет
Здравствуйте, so5team, Вы писали:
S>Здравствуйте, netch80, Вы писали:
S>>>ИМХО, задачи из категории "вот код, посмотрите и скажите нам, что мы увидим на экране" однозначно указывают на профнепригодность интервьюера. И прозрачно намекают на гнилость компании, в которой такие персонажи интервью проводят.
N>>Обосновать своё имхо можете? У меня вот оно практически противоположное.
S>Могу попробовать, но не могу гарантировать, что обоснование вас удовлетворит.
S>Если кто-то хочет увидеть, какой выхлоп произведет программа, то пускай запустит и посмотрит. Программист же, особенно когда ему нужно разбираться с чужим кодом, сталкивается с ситуациями, когда хотели одно, а получили другое. И вопрос не в том, чтобы угадать, что именно получили. А найти причину, по которой получили именно это. А потом найти способ быстро и, желательно, недорого, привести все к желаемому виду.
И как именно будете это делать? Менять произвольную букву и смотреть на результат? Всегда есть минимальный уровень, ниже которого подобные воздействия бессмысленны, и надо явно смотреть, типа: блин, тут задано int, а я читаю число в двадцать миллиардов — конечно, оно переполнится. Или "надо было прибавить к x, а тут прибавляют к y". Или ещё 100500 подобных вариантов.
У вас тут та же проблема, что ниже — вы сразу заутрировали вероятно простейший случай на какие-то совершенно безумные, которые действительно без помощи отладчика, IDE и статического анализатора не взять. Ну и почему вы решили, что такое будет в типовом интервью?
S>Если хочется определить, насколько человек способен разбираться в коде "с листа", то дайте ему фрагмент кода и попросите рассказать, что он думает о качестве этого кода. И почему он так думает. И уже по встречным вопросам от собеседуемого можно будет понять больше, чем от "что напечает этот код?". Если при этом показывать фрагменты своего кода, то можно узнать много нового для себя
Ну а почему бы не "что он делает?" спросить для начала? а потом и к стилю перейти?
Или вы и тут домыслите, что требуется суперточный ответ во всех деталях?
S>>>Хуже, наверное, только тебовать написать код на бумажке, и чтобы интервьюируемый по памяти выписывал имена всех функций/методов, точно помнил порядок аргументов и, не дай бох, ошибся бы в какой-нибудь запятой. N>>Это уже откровенно демагогическая подтасовка тезиса. S>Пожалуйста, читайте то, что написано, а не то, что вам хотелось бы видеть. Если вы не сталкивались с таким способом проведения интервью, значит вам повезло.
Я как раз читаю то, что написано, а не то, что вы додумали где-то куда-то и не изложили. Вы в качестве сравнения сразу предложили откровенно демонизированный вариант, а не разумный, но при котором присутствуют отдельные элементы озвученного — как то же написание на бумажке (которое я считаю в некоторых случаях вполне разумным подходом). Вот эту намеренную демонизацию я и считаю подтасовкой и демагогией.
Это такой же приём психологически осадить желающего, как и то, что описывал ТС, и в таком случае лучше сразу посылать на три буквы и уходить. Но при чём тут тема поиска разумного интервью?
The God is real, unless declared integer.
Re[15]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, netch80, Вы писали:
N>И как именно будете это делать?
It depends.
Но если вы тут решили показать себя самым мудрым и опытным, то вот вам наглядный и свежий пример. Вчера я сделал неверное утвержение в одном из топиков в разделе /cpp. И мне показали
контрпример: https://wandbox.org/permlink/Y74CJT4bN1PFMRRF
И в этом примере я далеко не сразу увидел, что печатается всего одно число. И далеко не сразу понял, почему это происходит.
А разобраться с этим помогло то, что на wandbox можно экспериментировать. Только в результате экспериментов я увидел break внутри цикла. А до этого его там как будто вообще не было. Смотришь в код, а break-а тупо не видишь, потому что внимание сконцентрировалось на чем-то другом.
Вот как раз просьбы рассказать что напечатает код с бумажки чреваты такими вот случаями. Человек не компьютер, он в силу своих ограниченных возможностей может тупо что-то прозевать. И это, вообще-то, ничего не говорит о качестве программиста.
При этом я даже не собираюсь вас ни в чем убеждать. Объясняю свой взгляд на сей вопрос. Который появился не на пустом месте.
Вас этот взгляд не устраивает? Да ради боха.
N>Ну а почему бы не "что он делает?" спросить для начала?
См.выше.
N>а потом и к стилю перейти?
А где я говорил про стиль? Это вы, как видно, за меня домысливаете.
N>Или вы и тут домыслите, что требуется суперточный ответ во всех деталях?
Обычно требуется именно что точный ответ. Дадут приблизительно такой фрагмент:
template<class T> int foo(T & t) { return 1; }
template<class T> int foo(T && t) { return 2; }
int foo(signed char t) { return 3; }
int foo(unsigned char t) { return 4; }
int foo(int) { return 5; }
int main() {
auto C = 'C';
std::cout << foo(C) << foo('C')
<< foo('C++') << foo("C++");
}
и смысла в получении неточных ответов нет. Точнее, смысл есть только в точном ответе.
Кстати, с таким кодом запросто можно потроллить интервьюера и сказать, что у меня такой код вообще не соберется.
S>>Пожалуйста, читайте то, что написано, а не то, что вам хотелось бы видеть. Если вы не сталкивались с таким способом проведения интервью, значит вам повезло.
N>Я как раз читаю то, что написано, а не то, что вы додумали где-то куда-то и не изложили.
Послушайте, netch80, вы запросто можете утверждать, что я домысливаю что-то в словах AlexGin. Но когда я говорю:
Хуже, наверное, только тебовать написать код на бумажке, и чтобы интервьюируемый по памяти выписывал имена всех функций/методов, точно помнил порядок аргументов и, не дай бох, ошибся бы в какой-нибудь запятой.
То я знаю о чем я говорю. И домысливать мне тут ничего не приходится.
Re[16]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, so5team, Вы писали:
S>It depends.
S>Но если вы тут решили показать себя самым мудрым и опытным,
Вот и очередное проявление вашей форумной демагогии, о которой я говорил. Чуть что не по вам — оппонент сразу "решил показать себя самым мудрым и опытным" и всё такое. Может, перестанете наконец?
В конце концов ведь надоест и я тогда буду вас просто игнорировать. Может, давно пора.
Если вы искренне используете это просто для выражения своей позиции, то таки поищите другие методы.
S> то вот вам наглядный и свежий пример. Вчера я сделал неверное утвержение в одном из топиков в разделе /cpp. И мне показали
контрпример: https://wandbox.org/permlink/Y74CJT4bN1PFMRRF S>И в этом примере я далеко не сразу увидел, что печатается всего одно число. И далеко не сразу понял, почему это происходит.
А вот и проявление номер 2. Это по функциональности-то C++20 (если не ошибся), из которой мало кто знает вообще о её существовании, делать выводы по кандидатам, которые массово разве что к 14-му только пришли... вы всерьёз считаете, что такое будут спрашивать?
Ну скажите уже что-то типа "я прошёл 50 интервью за последние два года, на 30 задавали вопросы типа "что этот код делает?" на новых фичах C++20 на бумаге". Это будет конкретным утверждением (насколько честным — вопрос следующий — но обычно тут таки предполагается честность), и на него можно будет точно так же отвечать "я прошёл 20, и такую свежую дурь не спрашивали ни на одном, хотя на 15 таки давали код на бумаге". А то, что вы сейчас делаете, это дурнопахнущий FUD в отношении всей отрасли.
S>А разобраться с этим помогло то, что на wandbox можно экспериментировать. Только в результате экспериментов я увидел break внутри цикла. А до этого его там как будто вообще не было. Смотришь в код, а break-а тупо не видишь, потому что внимание сконцентрировалось на чем-то другом.
Вы реально думаете, что на бумаге вы бы его не увидели?
S>Вот как раз просьбы рассказать что напечатает код с бумажки чреваты такими вот случаями. Человек не компьютер, он в силу своих ограниченных возможностей может тупо что-то прозевать. И это, вообще-то, ничего не говорит о качестве программиста.
Верно, может. Но вот мой опыт говорит, что как раз с бумаги такие вещи легче читать.
Но я опрос шириной хотя бы в 10 человек не делал, и то, что я знаю ещё пару, которые согласны, что бумага помогает — недостаточные данные, чтобы экстраполировать на всё. Как и у вас (или вы не привели осмысленные данные).
S>При этом я даже не собираюсь вас ни в чем убеждать. Объясняю свой взгляд на сей вопрос. Который появился не на пустом месте. S>Вас этот взгляд не устраивает? Да ради боха.
Да, не устраивает. Потому что я хочу, чтобы обсуждение было конструктивным и каждый что-то извлёк для себя. Вот так вот я вижу цель форума и смысл своего участия тут (а иначе зачем сюда ходить?)
Хотя этот тред, да, как-то вышел за разумные рамки, надо сворачивать.
N>>Или вы и тут домыслите, что требуется суперточный ответ во всех деталях?
S>Обычно требуется именно что точный ответ. Дадут приблизительно такой фрагмент: S>
S>и смысла в получении неточных ответов нет. Точнее, смысл есть только в точном ответе.
А я вижу тут смысл даже в неточном ответе. Потому что я бы отвечал так и ожидал того же от кандидата:
1. 'C++' — я не в курсе про суперновые стандарты, но вроде ж '' позволяет не более одного числового значения (кодового пункта)? Значит, убрать это.
2. Строка — 1 или 2, потому что из всех перегрузок подходят только они... есть ли причина выбирать перемещение? const char*... скорее нет, потому что посылки для move нет — нужен или явный std::move, или конструктор... тут не оно.
На этом месте уже кандидат покажет, что он понимает основные особенности и годится минимум на джуна (по рамкам C++). Обоснование плавает — ну не помню я всех этих правил — не страшно, всё равно случай извращённый, главное, что кандидат знает про существование move-семантики.
3. На foo(C) и foo('C'): это C++, а не C, значит, 'C' это char. При этом это не signed char и не unsigned char — значит, остаётся 1 или 2.
Уже дотягивает до мидла.
Реально я тут навскидку ошибся — предположил что будет 111 в ответе — компилятор даёт 121. Что за специфика перемещения константы — я не помнил. Но хотя бы попал по 2 из 3. Вместе со знанием предметной области я бы такого воспринял на любой уровень, особенности извращений C++ можно дотянуть.
Понимаете? Более важно не что отвечает — важно что при этом думает и говорит, знает ли, на что обращать внимание. И тут любая бумага сойдёт, лишь бы код читался.
S>(пример кода взят отсюда: https://youtu.be/pe962IGfL_0?t=414).
Ну вот и капелька пользы — посмотрю это вперёд остального. А то как-то слишком засиделся в текущей практике (причём почти год плюсы были только с краешка).
S>Кстати, с таким кодом запросто можно потроллить интервьюера и сказать, что у меня такой код вообще не соберется.
Вы всерьёз думаете, что потроллите его? Я думаю, он как раз этого и ожидал.
S>>>Пожалуйста, читайте то, что написано, а не то, что вам хотелось бы видеть. Если вы не сталкивались с таким способом проведения интервью, значит вам повезло.
N>>Я как раз читаю то, что написано, а не то, что вы додумали где-то куда-то и не изложили.
S>Послушайте, netch80, вы запросто можете утверждать, что я домысливаю что-то в словах AlexGin. Но когда я говорю: S>
Хуже, наверное, только тебовать написать код на бумажке, и чтобы интервьюируемый по памяти выписывал имена всех функций/методов, точно помнил порядок аргументов и, не дай бох, ошибся бы в какой-нибудь запятой.
S>То я знаю о чем я говорю. И домысливать мне тут ничего не приходится.
В том, что это хуже — вы правы. А вот в том, зачем привели этот маргинальный вариант в качестве примера — безусловно нет.
Здравствуйте, _ABC_, Вы писали:
_AB>В общем, кто даст гарантию, что ты весь из себя такой честный, а твой профиль реально отражает твой опыт? Может, ты уже лет 10 не кодишь, только обсуждая задачи бизнеса с владельцами бизнеса, а потом под твоим логином кто-то заходит и начинает кодить?
А кто даст гарантию, что хрюши не врут тебе с три короба, и когда ты начнешь работать в компании — все не окажется совсем не так, как тебе обещали?
Ад пуст, все бесы здесь.
Re[17]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, netch80, Вы писали:
S>>Но если вы тут решили показать себя самым мудрым и опытным,
N>Вот и очередное проявление вашей форумной демагогии, о которой я говорил. Чуть что не по вам — оппонент сразу "решил показать себя самым мудрым и опытным" и всё такое. Может, перестанете наконец?
Давайте объясню на пальцах: хорошая методика проведения собеседований -- это не то, что можно определить однозначно и объективно. Равно как и "плохая методика". Соответственно, здесь имеет место не столько спор, сколько обмен мнениями. Я высказываю свое мнение. Вы высказываете свое. Каждый может принять аргументацию другого, а может не принимать. В том числе из-за наличия в прошлом опыта, который не согласуется с аргументаций. Но так как этот опыт вполне может быть субъективным, то и игнорирование арументов субъективно. Для кого-то из читателей мои аргументы могут ничего не стоить, для кого-то ваши.
Вы попросили обосновать мою точку зрения. Я это сделал.
Далее вы стали пытаться мне что-то доказывать.
Мне не ведомы мотивы которыми вы руководствуетесь при этом. Ибо я полагал, что и я, и вы, воспринимаем друг друга как опытных товарищей, мнение которых базируется не на прихотях, а на опыте. И что этому опыту можно сколько-нибудь, но доверять. А раз вы продолжаете что-то мне доказывать, то это выглядит с моей стороны как ваша попытка показать, что ваш опыт побольше и исходя из этого вы имеете что сказать.
Если это не так, то извините. Возможно, мои высказывания показались вам резкими. Поверьте, это потому, что письменный текст неверно передает эмоциональную окраску.
N>А вот и проявление номер 2. Это по функциональности-то C++20 (если не ошибся), из которой мало кто знает вообще о её существовании, делать выводы по кандидатам, которые массово разве что к 14-му только пришли... вы всерьёз считаете, что такое будут спрашивать?
Вы не увидели главного. Приведенный пример показывает потерю внимания, которая запросто может произойти у человека, т.к. человек не машина. Он в принципе не способен в уме компилировать код с учетом всех деталей. В отличии от.
А то, что пример относился к C++20, так это просто совпадение.
N>Вы реально думаете, что на бумаге вы бы его не увидели?
Уверен в этом.
N>А я вижу тут смысл даже в неточном ответе.
Это еще одна демонстрация субъективности. Вы видите смысл, а я не вижу. Если соискатель ответил правильно, то зачет по пункту "разбирается в правилах C++ной перегрузки". Не ответил, значит не разбирается. Большим бонусом будет, если соискатель упомянет про ключик /J для VC++. Но не более того.
При этом оговорюсь, в моем чек-листе на собесдование пункта "разбирается в правилах C++ной перегрузки" не было бы вообще. Если бы только я не искал разработчика C++ного компилятора или хардкорной C++ной библиотеки с десятиэтажными шаблонами внутри.
S>>Кстати, с таким кодом запросто можно потроллить интервьюера и сказать, что у меня такой код вообще не соберется.
N>Вы всерьёз думаете, что потроллите его? Я думаю, он как раз этого и ожидал.
Я уверен, что чуть ли не половина тех, кто захочет применить этот фрагмент кода на интервью даже сходу не назовут причины, по которым он может не скомпилироваться. Опять же, исходя из своего субъективного опыта.
N>А вот в том, зачем привели этот маргинальный вариант в качестве примера — безусловно нет.
Мало того, что я точно знаю о чем говорит этот фрагмент, так я еще и точно знаю, почему я именно его и привел. Именно как маргинальный вариант, который строго хуже. И который, к сожалению, практиковался. К счатью хотя бы не повсеместно.
Re[3]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, a7d3, Вы писали:
A>Ух ты, какой отборный кусок идиотизма. A>Сто раз уже обсуждалось в этом форуме про компании гоняющие и синьоров и юниоров по одному и тому же чек-листу. A>А ты упорно пытаешься ввести человека в заблуждение, буд-то бы кроме твоего мнения других, по этому же вопросу, не существует. A>Ай-яй-яй.
(Upd: ух-ты, только что глянул, оказывается оба топика от одного и того же человека )
При этом, вот я перед ковидом устраивался на работу. На первое телефонное собеседование никто не пришел, ок, извинились переназначили. Потом меня больше часа гоняли по "100 лучшим вопросам по c#". Судя по местному форуму их стоило посылать подальше. Но после этого пошли несколько очных сессий ппо 4 с лишним часа, где меня загоняли уже всерьез. И в итоге оффер дали даже на большие деньги, чем я просил и сильно большие, чем была моя нижняя граница. И разница между оффером и моей нижней границей, которая поверь, была немаленькая вполне тянет на сеньерскую з/п в Мск. Сейчас работаю в конторе с адекватным процессом, минимумом бюрократии и нормальными задачами. Есть мелкие недочеты, но это уже придирки. Ну вот такая контора, у них (нас уже) план собеседование четко прописан и точка входа у всех одна, дальше уже отличия.
Здравствуйте, ukrspecs, Вы писали:
U>В общем коллеги, это такой крик души, так как я до сих пор отхожу от этого студенческого интервью. Очень малая вероятность, что буду с ними работать, даже если вышлют оффер.
Здравствуйте, so5team, Вы писали:
S>>>Но если вы тут решили показать себя самым мудрым и опытным,
N>>Вот и очередное проявление вашей форумной демагогии, о которой я говорил. Чуть что не по вам — оппонент сразу "решил показать себя самым мудрым и опытным" и всё такое. Может, перестанете наконец?
S>Давайте объясню на пальцах: хорошая методика проведения собеседований -- это не то, что можно определить однозначно и объективно. Равно как и "плохая методика". Соответственно, здесь имеет место не столько спор, сколько обмен мнениями. Я высказываю свое мнение. Вы высказываете свое.
Это было до тех пор, пока это было действительно просто "высказыванием мнения". Но вы давно перешли эту черту, когда начали приводить маргинальные примеры в качестве обоснования своего мнения и когда в ответ на прямое указание, что эти примеры маргинальны и совершенно не обязательно следуют из ваших общих слов — начали кидаться фразами типа "показать себя самым мудрым и опытным" или, как в данном случае, "объясню на пальцах" (ещё одна откровенная попытка принизить оппонента).
Из, например, написания на бумаге никак не следует придирка к порядку аргументов или опечатке в названии. Из чтения с бумаги не следует, что пример будет на сложные аспекты стандарта, который не знают даже сеньоры. И так далее.
А вы стараетесь всё время загнать в крайность. Ну так и я могу загнать в крайность: например, ok, пусть вам дан IDE, компилятор и прочее. Вам дадут код на 50 экранов и потребуют починить проблему за 5 минут. За это время вы успеете только выделить в уме основные сущности, потом вам скажут "как, вы ничего не сделали? ваш уровень — джун за 100$" и погонят. Устраивает такое? Я в ваших примерах вижу примерно такой же уровень обоснованности.
S>Вы попросили обосновать мою точку зрения. Я это сделал. S>Далее вы стали пытаться мне что-то доказывать.
Да, я доказываю, что вы зачем-то берёте маргинальные примеры и выделяете из них не те аспекты, которые реально показывают, например, желание завалить, а другие, никак с ними не связанные напрямую — просто они не нравятся вам. В случае описанного 5-минутного квеста вы бы сказали, что вам не дали времени, так? Потому что IDE вас устраивает, а бумага — нет. Ну так это значит, что IDE — ваш исходный абсолют, и вся прочая логика у вас выгнута под цену этого аргумента.
S>Мне не ведомы мотивы которыми вы руководствуетесь при этом. Ибо я полагал, что и я, и вы, воспринимаем друг друга как опытных товарищей, мнение которых базируется не на прихотях, а на опыте. И что этому опыту можно сколько-нибудь, но доверять. А раз вы продолжаете что-то мне доказывать, то это выглядит с моей стороны как ваша попытка показать, что ваш опыт побольше и исходя из этого вы имеете что сказать.
Вы понимаете вообще, что обсуждение всегда предполает взвешивание аргументов и поиск логических связей? И что просто "мнение" оно само по себе ничего не значит? Я вот, например, скажу, что C++ принесли рептилоиды и это моё опытное мнение — вы пойдёте возражать против уровня моего опыта или всё же против аргумента?
S>Если это не так, то извините. Возможно, мои высказывания показались вам резкими. Поверьте, это потому, что письменный текст неверно передает эмоциональную окраску.
Дело не в резкости самой по себе, дело в том, что логика не видна и непонятна. Или же видится так, что она построена на абсолютах и подстраивается под них. А это как раз для других будет вкусовщина.
Я вот периодически таки в сложных случаях печатал код на бумагу и разбирался с ним. Потому что удобно обвести, почёркать, нарисовать стрелки, и всё такое. Потом шёл, да, к редактору/IDE, и правил, если надо. И я совершенно нормально воспринимаю и написание на бумаге — а какая разница от рисования примеров, например, на доске мелом? Главное — что при этом не должно быть действительно придирок в том, что большинству при этом несущественно — на данном этапе. Вот это и надо смотреть в интервью.
Дальше я могу развить мысль о том, что, например, мне крайне странно, что кто-то вообще ничего не напишет без IDE (или даже без редактора). Я не буду вспоминать перфокарты, но мне странно, что пример на 10 строк не может быть отработан на whiteboardʼе. Вот это уже осмысленное обсуждение и если вы скажете "ну не получается у меня это, мне только IDE", это будет осмысленно — тогда можно будет сравнивать интервьеров (какие на это сразу говорят "вы ничего не умеете", а какие входят в специфику) и искать доли таких. Или собирать опросы. Думаю, кто-то это уже делал.
N>>А вот и проявление номер 2. Это по функциональности-то C++20 (если не ошибся), из которой мало кто знает вообще о её существовании, делать выводы по кандидатам, которые массово разве что к 14-му только пришли... вы всерьёз считаете, что такое будут спрашивать? S>Вы не увидели главного. Приведенный пример показывает потерю внимания, которая запросто может произойти у человека, т.к. человек не машина. Он в принципе не способен в уме компилировать код с учетом всех деталей. В отличии от. S>А то, что пример относился к C++20, так это просто совпадение. N>>Вы реально думаете, что на бумаге вы бы его не увидели? S>Уверен в этом.
А я — нет. Именно потому, что можно чёркать, обводить блоки и т.п. и это помогает читать код. Проблема у бумаги в поддержке поиска, автоконтролю опечаток и т.п.
Но пусть это действительно ваша личная субъективная специфика, ok. Хотя если бы тут реально не увидели (опросом это не решить, надо тестировать вживую) тот break менее 5% кандидатов, то ваша специфика уже становится неактуальной в среднем, как бы она ни была важна для вас лично.
N>>А я вижу тут смысл даже в неточном ответе. S>Это еще одна демонстрация субъективности. Вы видите смысл, а я не вижу. Если соискатель ответил правильно, то зачет по пункту "разбирается в правилах C++ной перегрузки". Не ответил, значит не разбирается.
Вот я считаем правильно ответил по 3 из 4 моментов. Всё, меня не принимают? Даже если именно эта особенность просто не может встретиться мне за всю работу, потому что такой код писать никто не будет?
Ну да, субъективность тут есть. Вам "субъективно" нужны монстры стандарта, и понятие "разбирается в правилах перегрузки" вы выверяете по этому критерию. OK, удачи в поиске. Но тут вы точно выходите за пределы условных 5% — может, вас таких 0.1%, и остальным ваша такая субъективность не интересна.
S> Большим бонусом будет, если соискатель упомянет про ключик /J для VC++. Но не более того.
Который тут вообще не должен помочь (проверил на gcc). Зачем ему тут такое упоминать-то?
S>При этом оговорюсь, в моем чек-листе на собесдование пункта "разбирается в правилах C++ной перегрузки" не было бы вообще. Если бы только я не искал разработчика C++ного компилятора или хардкорной C++ной библиотеки с десятиэтажными шаблонами внутри.
А у меня — было бы. Но не жёстко на уровне "не прошёл один тест из 20 — всё, в отбой", а на общее понимание, зачем нужна перегрузка, как решается...
и да, я такое проходил как кандидат — в одном месте вы сказали "ух ты, 8 из 14 правильно — очень хороший уровень, у большинства кандидатов было меньше" (а я офигел — где я там промазал? — но тут не уточнили). Я с ними не сошёлся, но подход выглядел разумно. Это было не про перегрузку, а в целом по C++.
S>>>Кстати, с таким кодом запросто можно потроллить интервьюера и сказать, что у меня такой код вообще не соберется. N>>Вы всерьёз думаете, что потроллите его? Я думаю, он как раз этого и ожидал. S>Я уверен, что чуть ли не половина тех, кто захочет применить этот фрагмент кода на интервью даже сходу не назовут причины, по которым он может не скомпилироваться. Опять же, исходя из своего субъективного опыта.
Ну так цифры будут? Типа "100 кандидатов, на бумаге смогли что-то изобразить только 6, нашли проблему в этом коде не запуская 17, запуская поняли ответ 33". Если не секрет, конечно. Если секрет — ну что ж, тогда действительно продолжать незачем.
N>>А вот в том, зачем привели этот маргинальный вариант в качестве примера — безусловно нет. S>Мало того, что я точно знаю о чем говорит этот фрагмент, так я еще и точно знаю, почему я именно его и привел. Именно как маргинальный вариант, который строго хуже. И который, к сожалению, практиковался. К счатью хотя бы не повсеместно.
А вот на шаг дальше — зачем это "строго хуже" нужно для сравнения? Поужасать? Спасибо, так есть 100500 других примеров. Границы разумного — важнее и полезнее.
The God is real, unless declared integer.
Re[20]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, a7d3, Вы писали:
A>>Просто научись говорить то, что реально думаешь без опасений о последствиях, начни называть вещи своими именами. A>>Без всяких там «спиралей молчания» и т.п. хероты возникающей из-за деаномизации. A>>В старые добрые времена это называлось отсутствием лицемерия и отсутствием склонности к «двойной морали» с малодушием.
KP>В смысле будьте мудаками? Ну, не всем этого хочется же. Да и анонимность, это так, видимость. Ты вроде большой мальчик, должен понимать это
Да нету деления на мудаков/токсичных и адекватных, это парадигма в голове такая, для защиты самолюбия. В действительности же, есть люди на разных уровнях развития личности — ветвях одной спирали.
Это лишь видимость, что якобы ты сам в адеквате, а несогласные с этим — не воспринимающие твоё поведение и закидоны — мудаки/токсичные люди.
В то время, как люди просто угорают с того, насколько ты ещё недоразвитый быдлан, не вдупляющий и не чухающий, что творит и что происходит. И ведут они себя с тобой так, как того заслуживает такое нечто, по их мнению.
Твоё поведение в топике “Discord” is switching: Go → Rust недопустимо в профессиональной среде, но сам будешь до упора уверен, что дело не в тебе. Что надо просто работать с «адекватными» людьми, которые не будут цепляться к тебе хорошему. В реальности же, это означает, поиск тех лиц, кто станет терпеть твои выгибоны, которых ты сам не замечаешь и не осознаешь.
Так оно длиться будет пока не повзрослеешь. Пока не доразовьёшься и не увидишь косяков в своём поведении, не увидишь каким именно образом ранее совершал подмену содержимого формой, играя прямо в некое подобие карго-культа.
_AB>В противном случае, смотри User Agreement Section 7.3 _AB>
_AB>7.3 OPTING OUT
_AB>You may opt out of the obligations in Section 7.1 with respect to each Upwork Relationship only if the Client or Freelancer pays Upwork a Conversion Fee which is a minimum of $1,000 USD and up to $50,000 USD for each Upwork Relationship.
_AB>You agree that the Conversion Fee is 12% of the estimated earnings over a twelve (12) month period, which is calculated by taking the Hourly Rate (defined below) and multiplying it by 2,080. “Hourly Rate” means the highest of (a) the highest hourly rate charged by the Freelancer on any Service Contract, if any; (b) the highest hourly rate proposed by the Freelancer in any proposal, if any; or (c) the hourly rate in the Freelancer’s profile.
_AB>The Conversion Fee may be calculated differently for Upwork Relationships when the Client is an Enterprise Client if the Enterprise Client contract with Upwork provides for different terms.
_AB>В нашем случае мы были Enterprise Client и у нас эта комиссия была всего 2.5К USD, насколько помню.
У меня случай когда с самого начала предлагают работать по контракту. Других клиентов за это банили сразу.
Re[10]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, _ABC_, Вы писали:
_AB>Здравствуйте, ukrspecs, Вы писали:
U>>Такого плана интервью, давно ушли в прошлое, так как последние годы, разговор идет с владельцами бизнеса. _AB>Ты пришел в другой мир, в котором другие правила и на другую роль. Изволь соответствовать. В чужой монастырь со своим уставом не ходят, однако. _AB>Я тоже работал на апворке и тоже разговаривал с владельцами бизнеса и таких тут много. Ты не уникум ни разу.
Это они пришли в мой монастырь, я не к ним навязывался.
Изначально речь шла чуть ли не о найме, как это обычно бывает. А потом начался описанный выше развод, на который я повелся.
U>>Суть в том, что я привык решать задачи, а не отвечать на теоретическую часть. _AB>Ну, вот кто-то озаботился, внезапно, не только тем, что ты можешь решить задачу, но и тем, как качественно ты её можешь решить и какими методами. Бывает.
Ну и пусть заботятся дальше. У меня и без них все хорошо, а у этих ущербных явно будут проблемы с таким подходом.
Re[2]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, Abalak, Вы писали:
A>Здравствуйте, ukrspecs, Вы писали:
U>>В общем коллеги, это такой крик души, так как я до сих пор отхожу от этого студенческого интервью. Очень малая вероятность, что буду с ними работать, даже если вышлют оффер.
A>Вот теперь я знаю, как ответить на твой вопрос отсюда — http://rsdn.org/forum/job/7858606.1
(Upd: ух-ты, только что глянул, оказывается оба топика от одного и того же человека )
Не дошло о чём именно речь.
A>При этом, вот я перед ковидом устраивался на работу. На первое телефонное собеседование никто не пришел, ок, извинились переназначили. Потом меня больше часа гоняли по "100 лучшим вопросам по c#". Судя по местному форуму их стоило посылать подальше. Но после этого пошли несколько очных сессий ппо 4 с лишним часа, где меня загоняли уже всерьез. И в итоге оффер дали даже на большие деньги, чем я просил и сильно большие, чем была моя нижняя граница. И разница между оффером и моей нижней границей, которая поверь, была немаленькая вполне тянет на сеньерскую з/п в Мск. Сейчас работаю в конторе с адекватным процессом, минимумом бюрократии и нормальными задачами. Есть мелкие недочеты, но это уже придирки. Ну вот такая контора, у них (нас уже) план собеседование четко прописан и точка входа у всех одна, дальше уже отличия.
Давно ли приступил к работе на новом месте? Осознание того, куда на самом деле попал приходит не сразу, хорошо если через полгода, а то и через год.
По всем признаком реально говно-шарага, люди в которой держатся лишь за счёт того, что более-менее прилично платит по меркам рынка. Такое встречается, это одна из форм насилия над людьми — платить так, чтобы им некуда было уходить. В определённые периоды существования компании такая тактика оказывается проще, чем другие меры по реорганизации и реструктуризации ради борьбы с текучкой кадров.
Re[19]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, netch80, Вы писали:
N>когда начали приводить маргинальные примеры в качестве обоснования своего мнения и когда в ответ на прямое указание, что эти примеры маргинальны и совершенно не обязательно следуют из ваших общих слов — начали кидаться фразами типа "показать себя самым мудрым и опытным" или, как в данном случае, "объясню на пальцах" (ещё одна откровенная попытка принизить оппонента).
Простите, но я не могу спорить с тем, как вы воспринимаете мои слова. Я высказал свое мнение (оно специально было помечено аббревиатурой "ИМХО", причем заглавными буквами). Затем объяснил, почему оно такое.
Но вы, похоже, наполнили мои слова каким-то своим смыслом. И теперь спорите не с тем, что я сказал. А с тем, что вы за меня домыслили. При этом еще и меня в домысливании обвиняете.
N>Из, например, написания на бумаге никак не следует придирка к порядку аргументов или опечатке в названии.
Не следует, согласен. Но я приводил конкретный пример. В котором есть придирки и к названием, и к порядку следования аргументов.
Может быть вам не нравится этот пример. Ну ОК. Однако, я именно такой привел. И не просто так я его привел.
N>Ну так и я могу загнать в крайность: например, ok, пусть вам дан IDE, компилятор и прочее. Вам дадут код на 50 экранов и потребуют починить проблему за 5 минут. За это время вы успеете только выделить в уме основные сущности, потом вам скажут "как, вы ничего не сделали? ваш уровень — джун за 100$" и погонят. Устраивает такое?
Сколько угодно, хозяин барин. На этот пример я скажу, что по-моему, это плохой подход к проведению собеседования. Но, может быть, если вы ищите инженеров в первую линию техподдержки, для круглосуточных дежурств, когда ночью могут срочно потребовать найти и исправить баг, то этот подход себя и оправдает.
N>Да, я доказываю, что вы зачем-то берёте маргинальные примеры
Спасибо, не нужно. Я их специально такими привожу. Чтобы явно обозначить крайности которые вряд ли применимы на собеседованиях.
N>Вы понимаете вообще, что обсуждение всегда предполает взвешивание аргументов и поиск логических связей?
Вы, похоже, просто не принимаете аргументов, которые вам не нравятся. А потом жалуетесь на отсутствие логических связей.
N>Я вот периодически таки в сложных случаях печатал код на бумагу и разбирался с ним. Потому что удобно обвести, почёркать, нарисовать стрелки, и всё такое. Потом шёл, да, к редактору/IDE, и правил, если надо. И я совершенно нормально воспринимаю и написание на бумаге — а какая разница от рисования примеров, например, на доске мелом? Главное — что при этом не должно быть действительно придирок в том, что большинству при этом несущественно — на данном этапе. Вот это и надо смотреть в интервью.
Это все прекрасно. И вы не один такой. Но это совершенно не относится к моему мнению о том, что когда программисту дают какой-то фрагмент на бумаге и просят показать, что буде напечатано, то это
a) вряд ли будет хоть как-то соотноситься с тем, чем человеку придется заниматься впоследствии;
b) подвержено ошибкам потери внимания (из-за которых неверный ответ ничего не скажет о том, насколько соискатель хороший программист);
c) есть более эффективный подход с использованием распечатанного на бумаге кода.
N>Дальше я могу развить мысль о том, что, например, мне крайне странно, что кто-то вообще ничего не напишет без IDE (или даже без редактора). Я не буду вспоминать перфокарты, но мне странно, что пример на 10 строк не может быть отработан на whiteboardʼе. Вот это уже осмысленное обсуждение и если вы скажете "ну не получается у меня это, мне только IDE", это будет осмысленно — тогда можно будет сравнивать интервьеров (какие на это сразу говорят "вы ничего не умеете", а какие входят в специфику) и искать доли таких. Или собирать опросы. Думаю, кто-то это уже делал.
Да сколько угодно. Только вся эта лирика не относится к тому, о чем я говорил.
N>Но пусть это действительно ваша личная субъективная специфика, ok. Хотя если бы тут реально не увидели (опросом это не решить, надо тестировать вживую) тот break менее 5% кандидатов, то ваша специфика уже становится неактуальной в среднем, как бы она ни была важна для вас лично.
Если я попадаю в эти 5% отсеянных в результате подобной методики собеседования, то мне как-то пофиг на средние показатели. Ну и сам подход, когда вы ориентируетесь на какие-то средние цифры вызывает сомнения: большие шансы, что вы наберете себе именно что средних сотрудников, а те, что не укладываются в усредненный шаблон, пойдут мимо.
N>Вот я считаем правильно ответил по 3 из 4 моментов. Всё, меня не принимают? Даже если именно эта особенность просто не может встретиться мне за всю работу, потому что такой код писать никто не будет?
Это вы спросите у тех, кто подобные методики применяют. Мне они кажутся порочными. О чем я и говорю. Так что ответить на вопрос "Всё, меня не принимают?" не могу.
Ну или я не понял к чему именно относились ваши вопросы.
N>Ну да, субъективность тут есть. Вам "субъективно" нужны монстры стандарта
Вероятно, вы это написали не прочитав оговорку ниже.
N>Который тут вообще не должен помочь (проверил на gcc). Зачем ему тут такое упоминать-то?
Затем, что это бонус, когда C++ник знает, что знаковость char может "плавать" туда сюда. И что на эту знаковость не стоит расчитывать. Не все знают, особенно в начале карьеры.
S>>При этом оговорюсь, в моем чек-листе на собесдование пункта "разбирается в правилах C++ной перегрузки" не было бы вообще. Если бы только я не искал разработчика C++ного компилятора или хардкорной C++ной библиотеки с десятиэтажными шаблонами внутри.
N>А у меня — было бы.
А у меня было бы лишь в перечисленных выше случаях. И что, мы теперь будем до посинения повторять друг другу "а у меня, а у меня"?
Напомню лишь, что этот пример был приведен как пример того, что обычно предлагают в подобных задачках на интервью. Сам я такое не практиковал, т.к. считаю подобную практику порочной.
Но если уж говорить про поиск разработчика C++ компилятора или хардкорной C++ной библиотеки с десятиэтажными шаблонами внутри, кто кадидат, который бы дал полностью правильный ответ имел бы преимущество перед вами.
N>Ну так цифры будут? Типа "100 кандидатов, на бумаге смогли что-то изобразить только 6, нашли проблему в этом коде не запуская 17, запуская поняли ответ 33". Если не секрет, конечно. Если секрет — ну что ж, тогда действительно продолжать незачем.
Цифр не будет. Просто я сам думал, что есть одна причина. А начал проверять, оказалось, что как миниму две. Поскольку сам я средней руки разработчик, то предположу, что подобную ошибку в определении причин легко допустили бы такие же как я, т.е. многие.
N>А вот на шаг дальше — зачем это "строго хуже" нужно для сравнения? Поужасать?
Показать конечный пункт направления движения при использовании сомнительных подходов к собеседованиям. В вашей классификации это может быть "поужасать". А нужно или не нужно -- это пусть каждый читатель форума сам решает. Вам не нужно. Но вы и не все.
Re[7]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, AleksandrN, Вы писали:
AN>Но язык был C++ и имеет ли смысл вопрос "чем отличается интерфейс от абстрактного класса", применительно к C++? Отдельных языковых конструкций для разделения этих сущностей нет.
имеет ли смысл такой вопрос? Серьезно? Каким образом отсутствие специализированных языковых конструкций является поводом не знать настолько базовыер вещи для человека, работавшего разработчиком 12 лет?
Re[11]: Когда 15 лет опыта, а интервью как для студента
Здравствуйте, s_aa, Вы писали:
_>Теоретически знаю, но в жизни ни разу не потребовалось. В 99-ти процентах типичных запросов прекрасно можно обойтись без этого. А если попадется 1% случай, то разберусь.
Ты очевидно работал только с весьма базовыми запросами и на небольших БД, где сервер прожует любой запрос