Какие программисты самые востребованные?
iphone\android..?
у тех у кого руки не из жопы растут
iphone\android..?факт бп
fox pro
факт бпХерня, это лохи работающие в потогонках. Самые солидные программисты работают на джава ентерпрайз.
Самые солидные программисты работают на джава ентерпрайз.до этих товарищей довольно долго расти. нужно ботать широкий спектр технологий и фреймворков. а уверенным андроид/айфон прогером можно стать очень быыстро
п.с.:
довольно долго = года два-три.
очень быстро = пол года -год
а ещё быстрее - уверенным пхп-прогером. и писать всякое говно потом, на которое даже страшно посмотреть.
с набитой рукой в целом. пусть даже на университетских проектах. в общем товарища, относительно которого нет сомнений - он состоявшийся как программист. понятно ,что он легко заботает все что угодно.
в краткосрочной перспективе мобильные разработки очень очень выгодны. экономически выгодно на рынке. гигантский рост идет. бабосы можно рубить нормально
это мы сейчас говорили о программистах. большей частью о кодерах-пррогерах что ли.
есть еще архитекторы / сеньоры
З.Ы. сейчас придёт Майк и объяснит нам, кто же такие настоящие прогеры.

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

Впрочем, мне казалось что в Java последней тоже уже он стоит.
Круто. Теперь знает правильный ответ на свой "вопрос" =)
зависит от реализации, но гарантируется то то и то то. в частности устойчивость. ну и в целом на создателей стд либов можно уже вполне полагаться и доверять, что там все будет нормалльно и максимально адекватно и здорово

я хотел услышать не абсолютно правильный ответ. заметь, вопрос даже был в другом. а просто вопрос на тем чем плох хипсорт. вот какой вопрос нужно задавать было. ок
ну и в целом на создателей стд либов можно уже вполне полагаться и доверять, что там все будет нормалльно и максимально адекватно и здоровоТ.е. в целом ты спрашиваешь на собеседовании какую-то хрень, ага.
в целом, надо смотреть на данные и включать голову
почему на практике почти везде юзаетсявсегда было любопытно, почему это вообще кого-то ебетхипсортквиксорт?
вроде же есть стандартная библиотека
Последние месяца 2-3 собеседовал 6 человек на должность разраба. Никто из них внятно не смог мне рассказать, что такое сложность алгоритма (чтобы было понятно: люди не могли посчитать число операций простой функции). Один из кандидатов для вычисления 1180/1000 использовал калькулятор (как он вообще свою зп счита... ах да калькулятор ...). И все эти люди работают на 60-90к на своих текущих работах.
Причем один кадр меня вообще упрекнул: дескать чего это я его математику спрашиваю. Он же программист, а не математик.
naming conventions и code styleа можно поинтересоваться как по этим двум пунктам грамотно опросить человека?
2. попросить прислать кусок его какого-нибудь кода

попросить прислать кусок его какого-нибудь кодаэто да. однако некоторые говорят "я не высылаю свой код" подразумевая видимо что не шлют код от предыдущего работодателся. странно при этом то, что у человека своего кода что-ли нету. и сидим изобретаем ему тестовое задание блин.
Дай такому кадру вот такую задачу http://www.e-olimp.com/problems/2244
Если решит, то можно и на код посмотреть.
Сама задача не сложная, но требует хорошей техники программирования.
Тут тебе и графы, и аккуратная работа с арифметикой и главное в инете негде натырить решение этой задачи. На том сайте ее никто не решил на 100% =)
P.S. И кстати, эта задача проверяет умение читать.
ну и олимпиадные задачи не особо подходят вообще, там на знание алгоритмов и структур данных, а нам важно чтоб человек ориентировался в сложной системе с большим количеством объектов, то есть ООП, паттерны, возможно шаблоны.
ну и конечно все это в тредах. а то недавно объяснял одному товарищу что такое мьютекс - на примере сортира со шпингалетом.
хотя если бы это был конкурс на з/п 140+, я бы порешал.
Вообще для решения достаточно знать, что такое обход в ширину + немного здравого смысла.
Но вообще, судя по этому
ну и олимпиадные задачи не особо подходят вообще, там на знание алгоритмов и структур данных, а нам важно чтоб человек ориентировался в сложной системе с большим количеством объектов, то есть ООП, паттерны, возможно шаблоны.эта задач далеко не первое, что хотелось бы спросить у претендента...
если граф хороший, как в "евклидова задача о коммивояжере". то можно и обход. вроде пофигу. но фиг знает на сколько "реальные" у них там тесты. наверняка есть и "кривые"
если допускается "читинг-нормализация всех ребер" перед применением обхода в ширину, то да. но надо прикинуть, как это скажется на времени работы. я чуток подумал и скорее всего никак.
вообще ограничения на задачу выглядят очень странно. можно в куче мест поднять на порядок/порядки. по памяти снизить. по времени - дальше уже некуда снижать

п.с: как всегда по традиции надеюсь, что я правильно понял условие

апд:
черт. есть проблемки
апд2:
там че еще бинпоиск по скорости придется делать? тогда ограничения становятся законными.
апд3:
блин. так нечестно. завтра придется решение написать
Мне кажется, что если у человека загораются глаза и рот расплывается в снисходительной улыбке при виде такой задачи, то он подойдет для того, чтобы разрюхать любую систему любой сложности.
Бинарного поиска не вижу.
Вижу два прогона дейкстры для каждого велосипедиста, плюс один проход по всем вершинам, составляющим минимальные пути от убегающего велосипедиста до магистралей.
Критерий "не догнал" - в каждой вершине минимального пути убегающий должен побывать быстрее.
На последнем прогоне по всем точкам считаем минимум по всем путям от максимума необходимой скорости убегающего по всем точкам.
Вижу два прогона дейкстры для каждого велосипедиста, плюс один проход по всем вершинам, составляющим минимальные пути от убегающего велосипедиста до магистралей.А почему вы все решаете упрощенную задачу? Что если Борис знает где находится \ куда поехал Павел и может на некоторых перекрестках выбирать куда дальше ехать в завимости от более раннего выбор Павла? По крайней мере в условии о том, что путь Бориса должен быть независим от пути Павла ничего не написано. При этом вы подразумеваете, что Павел точно знает куда поехал Борис.
Критерий "не догнал" - в каждой вершине минимального пути убегающий должен побывать быстрее.
На последнем прогоне по всем точкам считаем минимум по всем путям от максимума скорости убегающего по всем точкам.
Например, если в городе два выезда E1, E2 и три точки в городе P1 P2 P3, при этом
D(P1, E1) = D(P1, E2) = D(P1, P2) = 1 и D(P3, E1) = D(P3, E2) = 2, Павел в P3, Борис в P2, то по вашему решению ответ 160км\ч, а реально Борису достаточно 80км\ч (когда он приедет в P1 - нужно будет ехать туда, где Павла нет).
Мне кажется в этой формулировке она более интересная

дейкстра - фактически же оптимизированный обход в ширинуимхо это не так. хочешь тест дам? для произвольного графа это сто пудов не так
нарисуй сам некий неевклидов граф
я может щас ерунду сказал в математическом смысле (нет сил щас формулировать), но я думаю ты понял какой я хочу граф.
другими словами: в дейкстре имхо очень важен порядок апдейта вершин. назовем это релаксацией вершин.
придумай такой тест, в котором ты при помощи своего обхода в ширину быстро дойдешь в некую область, но с большИм значением.
а потом придумай боковой путь к одной из вершин этой области (пусть даже ко внутренней-чтобы наверняка), который будет в итоге короче (по сумме весов ребер). в итоге релаксации нужной вершины не произойдет
мне кажется тут должна проявиться проблема с этим
в общем в дейкстре важно поддерживать правильный "фронт". который на неевклидовых графах может сфейлиться если применять просто обход в ширину
Что если Борис знает где находится \ куда поехал Павел и может на некоторых перекрестках выбирать куда дальше ехать в завимости от более раннего выбор Павла? По крайней мере в условии о том, что путь Бориса должен быть независим от пути Павла ничего не написано. При этом вы подразумеваете, что Павел точно знает куда поехал Борис.и в самом деле. самое время отправлять вопрос жюри.
Мне кажется в этой формулировке она более интереснаясогласен. ааааа!


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

меня вот сразу при первом "диагональном прочтении" смутило, что вершин всего 100. и я подумал, что просто сайт лажовый. потом, когда я поспешил написать об этом в первом посте и после этого начал придумывать тесты и проверять, я проверил что за город-хозяин сайта и понял, что грядет жопа. потом я посмотрел на статистику сабмитов (она очень даже красноречивая, если покопать) и понял, чо надо думать в чем там фигня.
п.с.: блин сто раз же себе говорил уже: посмотри сначала сэмплы, потом еще раз перечитай, прежде чем улыбаться, потирать ладошки и откидываться на спинку стула
просто хотел решить задачу за <1 min а автор оказался крут. вот так вот
но и от идеи с бинпоиском я бы не отказывался. мне вот что тогда в голову пришло:
1. ответить на вопрос догонит или не догонит -не сложно. просто исключаем одну вершину из графа и запускаем "в глубину" для простоты реализации.
2. идем бинпоиском по скорости и ищем эту самую минимальную скорость. мин - понятно из ограничений на точность вывода. макс - надо прикинуть из ограничений на длины ребер (кстати тоже очень странно, что они такие короткие! там до длинной арифметики еще далеко вроде везде)
2.2. для каждой скорости запускаем то ли в ширину, то ли дейкстру (до конца не додумал еще). не простые а хитрые. возможно еще с довеском в виде сотни возможных состояний догоняющего. (а хватит ли сотни чтобы закодировать все что нужно?! хз).
и смотрим получилось ли с этой скоростью убежать.
надо допиливать дальше
самые востребованные - с большими хуями
надо очень четко посчитать за сколько там чего будет работать при "примитивном" понимании условия. предлагаю при помощи ограничений на размер входных данных вычислить истинную суть задачи и алгоритм. и сдать с первого разаПри базовом понимании там думать не над чем. 3 поиска в ширину с итоговым временем M log(N), предпологая что M > N. Никакие двоичные поиски не нужны.
относительно подробно описал как все это делать.
А почему вы все решаете упрощенную задачу? Что если Борис знает где находится \ куда поехал Павел и может на некоторых перекрестках выбирать куда дальше ехать в завимости от более раннего выбор Павла? По крайней мере в условии о том, что путь Бориса должен быть независим от пути Павла ничего не написано. При этом вы подразумеваете, что Павел точно знает куда поехал Борис.
Например, если в городе два выезда E1, E2 и три точки в городе P1 P2 P3, при этом
D(P1, E1) = D(P1, E2) = D(P1, P2) = 1 и D(P3, E1) = D(P3, E2) = 2, Павел в P3, Борис в P2, то по вашему решению ответ 160км\ч, а реально Борису достаточно 80км\ч (когда он приедет в P1 - нужно будет ехать туда, где Павла нет).
Мне кажется в этой формулировке она более интересная
Что значит в этой формулировке? =) Это и есть то, что имелось в виду. Оба действуют оптимально (это значит, что при ЛЮБЫХ действиях одного, другой сделает все, чтобы получить максимальный гарантированный выигрыш). Но если достигнуть гарантированного выигрыша можно разными способами, то берется минимальный по числу усилий (скорости).
Конечно, чтобы такого косяка не было, если мы достигаем уже просмотренную вершину с меньшим путем, мы перезапускаем из этой вершины волну. Именно поэтому и случится падение пефоманса.
Несомненно, в такой постановке она гораздо более интересна. Боюсь, правда, что она получается уже NP-полной. Я подумаю.
Несомненно, в такой постановке она гораздо более интересна. Боюсь, правда, что она получается уже NP-полной. Я подумаю.Да ладно. Оптимизационная задача не может быть NP полной (хотя бы по-этому ты не прав).
А почему вы все решаете упрощенную задачу? Что если Борис знает где находится \ куда поехал Павел и может на некоторых перекрестках выбирать куда дальше ехать в завимости от более раннего выбор Павла? По крайней мере в условии о том, что путь Бориса должен быть независим от пути Павла ничего не написано. При этом вы подразумеваете, что Павел точно знает куда поехал Борис.Ага у обоих прикреплены чипы и навигаторы, чтобы мониторить кто-где и куда едет)), тогда я бы на месте Павла сидел пил кофе в P3, пока Борис в P1 не приедет, ну а дальше уже и была бы вся гонка, здесь надо понадеется, что смогу ехать более чем в два раза быстрее Бориса, ну а если не смогу, то и любая другая моя стратегия не поможет..
Например, если в городе два выезда E1, E2 и три точки в городе P1 P2 P3, при этом
D(P1, E1) = D(P1, E2) = D(P1, P2) = 1 и D(P3, E1) = D(P3, E2) = 2, Павел в P3, Борис в P2, то по вашему решению ответ 160км\ч, а реально Борису достаточно 80км\ч (когда он приедет в P1 - нужно будет ехать туда, где Павла нет).
Мне кажется в этой формулировке она более интересная
Мне кажется надо было сформулировать более правдоподобно, типа у Бори и Павла есть любимые места в городе, и вот однажды созвонившись они узнали, что Боря сейчас в Б, а Павел в П, на что Павел похвастался, что его место более выгодное в городе, и он сможет сейчас к любому любимому их месту приехать быстрее Бори, на что Боря подумав ответил -неправда я в М приеду быстрее тебя, на этом ребята поспорили и двинулись в путь кто быстрее. Вопрос какое место М должен был выбрать Боря и с какой скоростью ему нужно будет ехать, чтобы выиграть спор, если таких мест может быть несколько указать то, (одно из) до которого ему для выигрывания спора придется ехать с наименьшей скоростью.
Решение два раза запустить Дейкстру))
P.S Поиск в ширину позволяет ответить на вопрос, как посетив наименьшее количество ребер, из вершины п , попасть в любую из вершин s, что не тоже самое, что и кратчайший путь, за исключением случая, когда длинны всех ребер одинаковы.
Давайте предположим, что Борис хорошенько напряжётся и разовьёт скорость, достаточную для того, чтобы из произвольной точки города добраться до любой другой за время, не превышающее того времени, которое потребуется Пашке (который догоняет) на то, чтобы проехать половину кратчайшего пути между перекрёстками. При такой скорости движения Борис доедет раньше Пашки до федеральной трассы во всех случаях, кроме одного — если Пашка изначально стоит в перекрёстке, являющемся перешейком в том смысле, что Борис и федеральные трассы находятся в разных компонентах связности графа, из которого выкинут перекрёсток, занятый Пашкой; в этом случае Пашке вообще надо только стоять и терпеливо ждать, когда к нему подъедет Борис.
все будет нормалльно и максимально адекватно и здоровот.е. ты сам понял, что задавать твой вопрос не следовало?
Или я чего-то проглядел, или условие сформулировано неверно. Там ведь нет ограничения на скорость передвижения Бориса (того, кто убегает).не до конца дочитал. требуется не только узнать сможет ли он убежать или нет (по этой части ты прав), но и найти минимальную скорость с которой он сможет это сделать. вот это уже сложнее
т.е. ты сам понял, что задавать твой вопрос не следовало?в моей постановке не стоило, но скажем вопрос о недостатках хипсорта (или какого-нибудь другого алгоритма о котором претендент заявляет что вроде как знает) я считаю вполне уместен.
вообще мне кажется, что вы тут все в этом треде довольно высокую планку по уровню кандидатов и собеседований взяли. а с джуниорами как вести собеседование будете?
Конечно, чтобы такого косяка не было, если мы достигаем уже просмотренную вершину с меньшим путем, мы перезапускаем из этой вершины волну. Именно поэтому и случится падение пефоманса.ага. понятно. у меня просто мозг не поворачивается называть это тоже обходом в ширину. не привык. А что так тоже делают? а какая ассимптотика работы тут будет? и обязательно ли обход в ширину, точно нельзя какой-нибудь другой обход использовать?
ага. понятно. у меня просто мозг не поворачивается называть это тоже обходом в ширину. не привык. А что так тоже делают?ну я так в школе делал, когда не понимал честного дейкстру =)
или если граф не взвешен - он работает быстрее дейкстры засчет отсутствия плохих случаев
а какая ассимптотика работы тут будет?С ходу не скажу, но в худшем случае точно не лучше квадратичной
и обязательно ли обход в ширину, точно нельзя какой-нибудь другой обход использовать?можно =)
нахуй идите отсюда с задачей (в хорошем смысле)
поэтому иди-ка ты нахуй к модератору (в хорошем смысле) с просьбой открепить ветку с задачей
с предложением открепить ветку согласен!
ermol
Какие программисты самые востребованные?и больше всех получают