Обложку на границе нужно снимать.
Возможно перед ним стоило задать вопрос, в каких конференциях участвовали.
Тогда можно было бы более объективно оценивать их.
А вот первый вопрос я не мог пропустить, а ответить также было нечего (и судя по комментариям не только мне)...
Даже не знал, что ответить на вопросы толком.
Был на одной конференции с численностью ок. 100 чел.
Как я могу оценивать остальные конференции, мероприятия?
Кстати, дополнительный сервер для тестирования таки выбил. Хотя весной ответ был однозначный — нет.
Доступ сисадмин сделал через CI. Что даже удобнее.
Единственное, мне пришлось это дело настраивать. С учётом, что раньше такого опыта не было — тоже плюс.
Так что ещё раз спасибо автору. И моему новому руководителю. И нашему сисадмину ))
В Вашем случае интервьюер видимо не изучал С++ с его указателями ))
В Java, напр., в параметры передаётся ссылка на объект по значению (т.е. создаётся новая ссылка). Насколько я помню, конечно. Поправьте, если не прав.
Как и в php5, в общем-то.
И многие путают, что объекты по ссылке передаются, формулировка-то похожая ))
И также Ваш цикл можно ещё усложнить.
for (i = x; i < y; i += z)
c учётом, что требования к шагу формально не озвучены, то можно предположить, что есть вероятность вообще уйти в бесконечный цикл.
напр. for (i = 5; i < 10; i += (-2))
Поэтому уточняющие вопросы, если сомневаетесь — это правильно.
Но полагаю, по умолчанию подразумевается всё-таки цикл вида
for (i = 0; i < x; i++)
где x — натуральное число.
А я всё не могу понять, что имеете ввиду.
Для меня исходя из условия счётчики приравнивались к количеству итераций.
Но в Вашей схеме для каждого цикла нужно учитывать не только, будет ли выполнен, но каждый раз разницу между конечным и начальным значением счётчика (в примере 2 — 5 = −3).
Т.е. формула количества итераций сильно усложнится с
С1 * С2 * С3 на
max(y1-x1, 0) * max(y2-x2, 0) * max(y3-x3, 0).
Можете посчитать вероятность для Вашей схемы.
На скорую руку, вероятность возникновения 0 в каждом множителе — 50%. Из положительных чисел вероятность возникновения чётного и нечётного одинакова внутри каждой скобки. Т.е. 0 — 50%, Ч — 25%, Н — 25% (в каждой скобке).
Осталось посчитать вероятность для произведения трёх скобок.
Ну я не Вам отвечал (хоть и использовал Вашу цитату), ведь Вас действительно другие поправили. Но пожалуйста.
да. я видел. и мой ответ касался меньше всего субъективизма ))
больше про
джуниоры собеседовалик слову, так сказать, пришлось.
ой. как-то собеседовал кандидата на должность фронт-энд, будучи сам чистым джуниором (тогда ещё на фулл-стэке). так вышло, тимлида не было, второго прогера тоже (маленький у нас стартапчик был), в итоге собеседовали PM (по своим вопросам) и я (по техническим). ещё непонятно кто больше волновался )))
естественно, у нас никаких заготовленных вопросов не было. и скорее всего, субъективизм и прочие моменты были в какой-то степени (но ни в коем случае не попытка утопить, куда уже мне было кого-то топить).
по итогу взяли, и все остались довольны )))
а статья в целом хорошая, хотя это надо было не в этой ветке...
Как обещал посчитать
А если 2 вложены в один?Но тут будем считать, что у нас 2 тела (у каждого из вложенных циклов своё), т.е. нам нужна сумма количества выполнения двух тел (в условии задачи было одно тело цикла, но мы же отошли от условия задачи...).
В данном случае количество итераций циклов вместо С1 * С2 * С3 (в случае вложенных друг в друга) будет рассчитываться как С1 * (С2 + С3).
Как уже указывалось другими комментаторами, при умножении если любое число чётное, то результат произведения всегда чётный. Т.е. чтобы получить нечётное, все множители должны быть нечётными.
При сложении чтобы получить чётное, то оба слагаемых должны быть либо чётными, либо нечётными. В оставшихся двух случаях результат будет нечётный.
Т.е. если у внешнего цикла чётное (да хоть 0) число итераций — в 4 вариантах из 8 будет чётное независимо от вложенных циклов.
Если же у внешнего цикла будет нечётное количество, то есть 2 шанса в результате получить нечётное и столько же чётное.
Итого: 4/8 + 2/8 = 6/8 = 3/4 = 0.75 (кому как больше нравится).
В теории вероятности не силён, если что. Но тут всё просто считается. Даже расписывать не нужно на Н(Ч+Н), Н(Ч+Ч), Н(Н+Ч)...
А если один цикл не выполнится? Или два из трех не выполнится? Или все три цикла не выполнятся?Вообще не важно. Достаточно одного любого цикла, который не выполнится (если считать, что циклы вложенные). Так сказать, если любой множитель — 0, то сами знаете.
циклы со счётчиками — натуральными случайными числамиВ таком случае цикл обязан выполнится минимум 1 раз (по условию). И опять же на результат никак не повлияет. Бесконечно малые не в счёт.
Тоже правильно, считаю. Поэтому и нужно задавать уточняющие вопросы.
Хотя я в одном из своих комментов тут, сделал поправку на «вложенные друг в друга» циклы. Схитрил, так сказать.
Какая вероятность, что я — балерина?
50% выходит по Вашей логике?
Как и все здесь присутствующие?
Либо балерина либо нет... И других вариантов сами знаете...
Т.е. 0 итераций — чётное. Результат не изменится.
А вот
если 2 вложены в одинэто уже интереснее, хотя тоже считается ))
А что подразумевается под
цикл не выполнится?
Всего доступных случаев 8 (2^3).Это как раз правильно, как уже многие заметили и некоторые даже расшифровали подробно, не буду повторяться.
Вероятность 4/8нет.
Нечётное количество циклов (вложенных друг в друга) будет только если каждый из 3 циклов итерирован нечётное количество раз (т.е. в 1/8 всех случаев, случаев-то 8), поскольку умножение на чётное число всегда даёт чётное, независимо от второго множителя (2 класс школы вспомнил, надо же). В остальных 7 случаях из 8 будет чётное.
Разумеется, опуская рассуждения
— о четвёртом цикле;
— циклах, вложенных в один общий, но не вложенных друг в друга,
— с зависимым количеством итераций.
Только читая статью, результат почему-то перевёл в проценты: 87,5%.
И все ж так ринулись считать сразу, в т.ч. и я )))
А для меня как «интересующегося» статья оказалась полезной.
В том плане, что я хотя бы про принципы ACID почитал, уровни изолированных данных и теорему CAP (в общем, на Википедии провёл больше времени, чем на чтение текста статьи).
А также кучу полезных комментариев. Спасибо всем.
Будем стараться для каждой задачи использовать тот инструмент, который лучше подходит (исходя из опыта, разумеется).
Понятно, что в будущем придётся не только Википедию почитать, но раз из статьи были туда ссылки...
Вот только вряд ли меня можно было бы отнести к
стойким духом инженерам, скорее таки к начинающим, хотя работал и с реляционными базами, и с NoSQL (совсем чуть-чуть).
Где-то интуитивно я догадывался, что так оно и есть, но тут действительно всё по полочкам. Спасибо.
причём я не спорю насчёт всего остального.