Базовые знания для собеседования в amazon

Всем привет, наверное многие уже слышали о том что в Киев через месяц приезжают сотрудники амазона для проведения собеседований. Мне на почту выслали материал для подготовки. В принципе ничего секретного в нем нету и по сути это университетская база для каждого программиста. Вообщем вот, может кому-то будет дополнительный стимул подучить забытое =) :

Algorithm Complexity: you need to know Big-O.

Sorting: know how to sort: the details of at least one n*log(n) sorting algorithm, preferably two
(say, quicksort and merge sort). Merge sort can be highly useful in situations where quicksort is
impractical, so take a look at it.

Hashtables

Trees: basic tree construction, traversal and manipulation algorithms. Binary trees, n-ary trees,
and trie-trees at the very very least. At least one flavor of balanced binary tree, whether it’s a red/
black tree, a splay tree or an AVL tree. Tree traversal algorithms: BFS and DFS, the difference
between inorder, postorder and preorder.

Graphs: There are three basic ways to represent a graph in memory (objects and pointers,
matrix, and adjacency list), each representation and its pros and cons.

The basic graph traversal algorithms: breadth-first search and depth-first search. Their
computational complexity, their tradeoffs, and how to implement them in real code.

Dijkstra and A*, if you get a chance.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Вот и результаты пришли. Политкоректно отказали

Сегодня-завтра должны объявить. А кто-нибудь продержался все 4 забега собеседования ?

у нас было объявлено от 1 до 4 бесед

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

Мне досих пор не понятно почему НО — небыло ни одного Java специфического вопроса, ни потоки, колекции, ничего только алгоритмы

потому что амазон не знает куда теоретически вас взять можно. Теоретически вы можете попасть в С++ девелоперы несмотря на ваши 150 лет в Java :) по крайней мере так они ответили нескольким моим знакомым

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

и все таки интересно, какое количество они планируют зарекрутить... То что плана нет — я слышал, но ожидания-то все равно имеются... не просто так сюда на неделю прилетело 10 человек ведь!

думаю, после того, как дадут ответ всем апликантам — тема оживится... сейчас же все сидят в неведении и ждут отета =)

140 и охранников из редиссона заберут :))))

Кстати, сколько этапов было?

Кто все шесть просидел?

Кто-то сегодня уже участвовал в евенте, что было интересного?

по 4 или 5 человек за таймслот. Татьяна вкратце беседует со всей честной компанией, потом каждый расходится по комнатам со своим технарем почти на час.
Приходят, у них короткий брифинг, меняются и опять расходятся.
Я сходил на два, потом отпустили. Фейл или саксесс — неясно. Юнис еще перед встречей предупреждала что встреча длится от 2 до 6 часов по неясному для публики алгоритму.
Только листики и ручки.

Чем больше спрашиваешь и рассказываешь в процессе — тем лучше. Интервьюеры настроены дружественно, в конце своего часа спрашивают что рассказать и на какие вопросы ответить.

У меня было:
Рассказать о своем самом челленджинг задании, проекте, интересные детали/решения ваших достижений.
Почитать лог, подсчитать и сгруппировать вхождения. Ну и попутные вопросы.

Сделать быструю всплывающую подсказку(подстановку) возможных корректных слов при вбивании слова в какую-то форму. Например поиска в гугле ;)

Интересно что еще было у остальных.

Коментар порушує правила спільноти і видалений модераторами.

я много раз задавал следующие вопросы на собеседовании:
— какая лучшая оценка алгоритма сортировки — не все, но многие отвечают N * lgN

— но вот на вопрос назовите хотя бы один — все упорно говорят quick sort.

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

А что вы ожидали услышать? Worst case performance в O(n^2)?
Из википедии:

Quicksort is a sorting algorithm developed by Tony Hoare that, on average, makes O(n\log n) comparisons to sort n items. In the worst case, it makes O(n^2) comparisons, though this behavior is rare. Quicksort is often faster in practice than other O(n\log n) algorithms.

какая лучшая оценка алгоритма сортировки — не все, но многие отвечают N * lgN

Ага. Проблема только в том, что это <b>НЕ</b> лучшая оценка алгоритма сортировки.

Ну как бы, какой вопрос, такой и ответ. Сортировка заведомо отсортированного массива например по сложности вообще 1. Это будет правильным ответом? Ответ же «квик сорт» на вопрос «назовите хотя бы один алгоритм сортировки» вполне хорош.

Наверное все таки имееться лучшая средняя, при определеном ключе можно и Radix и получить линейное время

Кстати по поводу сложности квик сорта и вики. Вики на этот счет говорит буквально следующее:

Лучший случай. Для этого алгоритма самый лучший случай — если в каждой итерации каждый из подмассивов делился бы на два равных по величине массива. В результате количество сравнений, делаемых быстрой сортировкой, было бы равно значению рекурсивного выражения CN = 2CN/2+N, что в явном выражении дает примерно N lg N сравнений. Это дало бы наименьшее время сортировки.

Письмо им «можно ли к вам присоседиться?» + резюме.
Ответ, потом 3 часовой кодинг эксерсайз:
расписание отправлений грузовиков транспортных компаний от вашего склада на неделю.
Выбрать хранилище расписания, написать функцию, которой отдают день, час и список желаемых транспортеров.
Выбрать ближайшие две отправки. Сделал на Трисете.
Согласились, дали анкету, потом еще пару писем с вопросами-ответами, сегодня на следующую среду забукали встречу уже в Киеве.
Написали что на телефонное интервью времени не хватает(так понимаю и на техническое), подождем среды.

Сижу, вспоминаю институт и алгоритмы. Отупел совсем :)

Обычно в конце года забирают в США, хотя, говорят, «был случай» когда и в конце весны утянули человека. Рассчитывал бы на осень.

а они пишут, сколько ЗП дают? или имя Амазон делает уровень ЗП неважной? думаю, за 50-60К в год грязными далеко не каждый полетит туда... а сотню вряд ли там дают. Или я ошибаюся?

Товарищ из Айдахо говорит что зарплата "кукуя-из-за-бугра«(не то чтоб иностранца, а просто нового пересичного программера) регулируется муниципально. Дают запрос, те — средний такого уровня получает в данной местности 85 штук. Те немного варьируют, но выходит около того. Я так понимаю что если миду дадут 120 или сениору — 65, то могут потыкать в несоответствия. Типа «или трусы оденьте или крестик снимите».
Хотя не совсем представляю себе механизм. Если, конечно, он всегда работает.

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

джава мид/сен:
swz.salary.com/...Seattle-WA.aspx
swz.salary.com/...Seattle-WA.aspx

софт мид/сен:
swz.salary.com/...Seattle-WA.aspx
swz.salary.com/...Seattle-WA.aspx

Можно чуть накинуть на то что амазон пожирнее каких-то местных конторок.
И сбросить за то что наш EN-US реально сакс(у большинства. Может конкретно у вас он только акцентом страдает, а может вообще идеален).

По расходам — в ньюйорке 60 — это впритык(мнение двух знакомых оттуда). Особенно рента дома.
А 80 в Сиэтле, где домик почти в два раза дешевле(примерно штука с мелким против 2 в НЙ) остаются затраты на коммуналку, страховку машины. Еда и одежда — понты.
Кроме того Амазон, в отличии от бодишопов ,делает медстраховки.
То есть 80-90 амазоновских в сиэтле гораздо лучше чем 60 бодишоповских в НЙ.

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

Товарищ из Айдахо говорит что зарплата "кукуя-из-за-бугра"(не то чтоб иностранца, а просто нового пересичного программера) регулируется муниципально

а можно перевести на русский, что именно здесь имелось ввиду? какой запрос, куда?

А 80 в Сиэтле, где домик почти в два раза дешевле(примерно штука с мелким против 2 в НЙ)

домик в Сиэтле за штутку с лишним звучит неправдоподобно, 1bd apartments может быть, домик в приличном месте — вряд ли. Смотреть варианты здесь: seattle.craigslist.org/apa

Взял компания А программиста Б на работу в штате Х.
Программист тянет на визуал бейсик мида. Компания А спрашивает у соответствующих чиновников штата Х — сколько получает средний мид на визуал бейсике в нашем штате?
чиновники отвечают — 68,5 тыс. Компания говорит спасибо, дает человеку 70 тысяч в год.
А если она хочет ему дать 90, то записывает сениором или приписывает какие-то специфик скиллз.
Я не буду утверждать что это 100% абсолютный сценарий, просто мне такую картину нарисовали.

В принципе это и неважно в данной теме. Сколько надо будет дать — так и нарисуют должность.

Домики за штуку с лишним:
www.rentalhomesplus.com/...9.11602&prvpg=7

www.rentalhomesplus.com/...9.11602&prvpg=7

Дешевле
www.rentalhomesplus.com/...29.7199&prvpg=7

www.rentalhomesplus.com/...6317.54&prvpg=7

Вряд ли я на 100% правильно оценил уровень жизни в сравнении с НЙ, но истина где-то рядом :)

Предлагаю отдельную тему потом создать. Среди и для прошедших собеседование. У них будет время прицениться к Сиэтлу и отказаться если что.

На glassdoor обычно вполне адекватные оценки зарплат от инсайдеров: www.glassdoor.com/...44,51_IM781.htm

а они пишут, сколько ЗП дают? или имя Амазон делает уровень ЗП неважной?

Амазон известен своими хорошими зарплатами и щедрыми бонусами. Но, как говорится, your milage may vary, все зависит от того как строгуетесь.

Здравствуйте, а как Вам прислали материал для подготовки? И как Вы узнали про это мероприятие? Вы подписаны на какую-то рассылку? Спасибо:)

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

Ясно. А я то думала, что есть какая-то мега рассылка, куда ты подпишешься и сразу всё будешь знать:) Спасибо большое за ответ!

а мне вот даже без звонка прислали

I wanted to reach out and let you know that you passed the coding exercise! Congratulations!

You are confirmed for our Recruiting Event in Kiev,

после решения этой задачи на 3 часа, кому-то присылали письмо с темой «Requesting Your Application»? там типа анкетка заполнить.

я не понимаю этой фейл или все ок, сомневаюсь, потому что натупил с решением своей задачи.

Мне тоже пришло, хотя с задачей вроде не тупил :) Теперь с анкетой тоже надо не натупить...

пришла анкета, теперь думаю, что писать в MILITARY RECORD если у меня был белый билет. Я так подозреваю, что «Present Military Affiliation» будет Reserve(Inactive), а все остальное пусто.

Да вот сам такой, понятия не имею. Мне больше None нравится. Reserved всё-таки для тех, кто просто в запасе в данный момент, но служил. Могу сильно ошибаться, конечно.

кстати, уточнил. Белый билет — это не рядовой запаса. Поэтому я поставил None и засабмитил.

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

Мені прийшло, хоча задачі ще не проходив. От тепер сушу голову над тим що написати у MILITARY RECORD. Я офіцер запасу. Наче і були військові збори, але чи вказувати їх — незрозуміло. Якщо хто має інфу — поділіться що писати у такому випадку. Якщо це для америкоських військ то взагалі мабуть варто лишати None.

мне тоже пришло, но я еще не заполнял.

У меня было первое телефонное интервью вчера. Впечатления остались двоякие. Что спрашивали: не знаю почему, но все вопросы в той или иной мере касались concurrency.

1) Implement RW-lock. Is it starvation free ? What other kinds of concurrency problems do you know ? Describe deadlock.
2) Implement thread pool. How to implement blocking queue ?

3) Different kinds of IPC. Pros and corns of pipes, shared memory etc.

Spent time: 45 minutes.

Весь код набирал в collabedit.com

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

Видимо человек читал очень много литературы про concurrency в последнее время, вот и спрашивал

Да это вполне возможно =).

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

А подскажите кому можно заслать резюме? Или где больше информации о событии получить. Спасибо.

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

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

Интересно, а месным предлагали решить тестовое задание за час, не ужели это разница в пороге или в задании

там реально на час работы, меня немного задержал английский, но за это я предложил 3 алгоритма вместо одного и описания второго

Коментар порушує правила спільноти і видалений модераторами.

местным предлагают писать алгоритмы онлайн на портале и без ИДЕ :)

То что вы описываете, больше похоже на second phone interview когда вы шарите «доску» и вы виртуально на ней кодите, я правильно понял вашу мысль?

На сколько я знаю для тех кто проживает в других шттах амазон дает три интервью по телефону + линк на портал где вас просят написать код для какойто задачи. После того как вы проходите жти интервью вам оплачивают перелет и проживание в Сиетле для интрвью непосредственно в амазоне где вас ждет 4-5 собеседований (алгоритмы паттерны с ооп интрвью с менеджером) в один день по результатам которого принимается решение брать вас или нет

Хм, видимо разные случаи, разные варианты, вот например со слов рекрутера:
The process is typically 2 phone interviews and one all day on-site interview.

но разница конечно не существеная, больше удивила разница во времени на задачу

Я привел пример интервьб внутри штатов а наверное это особенности выезного интервью :-)

перебор массива и юнит тесты к нему

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

У меня была задача закодить решатель для проблемы когда у тебя есть 2 емкости А и Б литров, и нужно наполнить ваную в Н литров с описанием действий и желательно за кратчайший путь и надо сделать за час в расшареных гуглодоках

Класcика жанра, задача о ранце, если готовился пять минут должно хватить.

Ну не совсем, в задаче о ранце ты не можешь производить композиции с обьектами, как например наливать в одно ведро потом доливать выливать и потом еще доливать что бы получить к примеру 5 литров, а потом эти не достающие 5 литров залить в ваную на 100 литров, там композиция уже дана и надо заполнить, тут надо вычеслить простаранство возможных литро-комбинаций на 2х ведрах при разных обьемах (к примеру когда они равны у вас не так много свободы :), а потом уже заполнять ранец, но задача действительно не сложная, кодить дольше :) у меня быстрее чем за 25 минут не получаеться набрать рабочую програму, а у вас?

Ну это банальщина вообще — очевидно что нужно рассматривать не только емкости А и Б но и А — Б * н, и т.д. и все элементарно сводится к ранцу.

Хм, а как вы получите к примеру 1 литр из 2х ведер 11 и 7 литров тогда?

Под «т.д.» я имел в виду рекурсивно применить процедуру к имеющимся емкостям. Т.е. в твоем примере:
итерация 0: емкости 7 и 11
итерация 1: емкости += 11 — 7 = {4,7,11}
итерация 2: емкости += [7 — 4, 11 — 4, 11 — 8] = [3,4,7,11]
итерация 3: емкости += [4 — 3, 7 — 3, 7 — 6, 11 — 3, 11 — 6, 11 — 9] = [1, 2, 3, 4, 5, 7, 8, 11]

Так понятно?

Да, только у вас всего два ведра и стоимость разных литров разная, но в целом как я и говорил ничего сложного — сперва считаем композицию, а потом задача ранца, или я как-то не правильно это писал? ну и как замечено выше ничего сложного, просто написать и закодить как раз на час

стоимость разных литров разная

Именно для таких целей во многих языках программирования есть различные вариации на тему map, dictionary и т.д. в которых можно хранить не только стоимость литра нo и всю цепочку его выведения!

и что вы хотите этим сказать? чем это отличаеться от поста выше?

это позволяет закодировать решение за 5 мин :)

кстати, для 1го литра вам надо:
наполнить ведро 11 (1)
вылить в ведро 7, останеться 4 и 7 (2)
далее добыть еще 2 таких ведра :)
наполнить ведро 11 (3)
вылить в ведро 7, останеться 4 и 7 (4)
вылить ведро 7 (5), перелить 4 в ведро 11 (6)

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

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

На самом деле ты все усложняешь, очевидно что решение будет налить вначале H / C ведер в ванную, где C = max(A,Б), а потом долить остаток из большего ведра за один заход. Учись мыслить не тунельно, и когда нибудь мидлом станешь.

Спасибо, буду стараться, но к примеру в этом примере, ванная 12 литров как лучше ее наливать? ведь можно 2 по 6, 3 по 4 или 11 + 1 как вы только посоветовали, что дороже? Кстати, так сколько операций нужно для 1го литра? тогда хотя бы можно будет сравнить варианты 3×4 vs 11+1

Кстати, так сколько операций нужно для 1го литра?

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

не спорю, вот и спрашиваю дельных советтов

в таком случае задача вообще не имеет смысла :) так как мы черпаем самым большим ведром пока ванна не заполниться ;) и к черту эти ваши комбинации

или я не понял прикола как с 2мя ведрами 11 и 7 литров налить в ваную ровно 12 литров за 1 итерацию

в таком случае задача вообще не имеет смысла

Та нет, отличная задача что бы отфильтровать чересчур умных!

или я не понял прикола как с 2мя ведрами 11 и 7 литров налить в ваную ровно 12 литров за 1 итерацию

Возможно это возможно потому что у некоторых людей две руки?

Хорошо, тогда ваше по шаговое обьяснение предположим в ваной 100 литров и в нее нужно налить ровно 12, у нас 2 ведра 11 и 7 и есть кран, и пусть 2 руки, наши действия?

Хорошо, тогда ваше по шаговое обьяснение предположим в ваной 100 литров и в нее нужно налить ровно 12, у нас 2 ведра 11 и 7 и есть кран, и пусть 2 руки, наши действия?

Это уже задача несколько отличная от исходной.

Чем?

есть 2 емкости А и Б литров, и нужно наполнить ваную в Н литров с описанием действий и желательно за кратчайший путь и надо сделать за час в расшареных гуглодоках

понятно что ванная не ровно Н, тогда можно черпать просто большим ведром ]N/MAX(A, B)[ шагов

и рюдзак и выкладки с a-b никчему, или вы о чем?

Это уже задача несколько отличная от исходной.

Чем?

Очевидно словом «наполнить».

А в вашей интерпретации что ожидаеться? Или как это слово что-то меняет, если вы его интерпретируете как до краев, тогда к чему a-b и задача о рюдзаке?

А в вашей интерпретации что ожидаеться? Или как это слово что-то меняет, если вы его интерпретируете как до краев, тогда к чему a-b и задача о рюдзаке?

Извини, но мне впадлу проходить через множество итераций игр в словесные загадки и квесты, ты чего сказать хотел?

Ну это банальщина вообще — очевидно что нужно рассматривать не только емкости А и Б но и А — Б * н, и т.д. и все элементарно сводится к ранцу.

какую задачу вы имели ввиду?

и как

Очевидно словом «наполнить».

меняет смысл вашей задачи от

Хорошо, тогда ваше по шаговое обьяснение предположим в ваной 100 литров и в нее нужно налить ровно 12, у нас 2 ведра 11 и 7 и есть кран, и пусть 2 руки, наши действия?

Это уже задача несколько отличная от исходной.

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

какую задачу вы имели ввиду?

и как

Совершенно очевидно что это случай для «не до краев».

Очевидно словом «наполнить».

меняет смысл вашей задачи от

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

Ок,

Совершенно очевидно что это случай для «не до краев».

тогда чем это отличаеться от задачи

Хорошо, тогда ваше по шаговое обьяснение предположим в ваной 100 литров и в нее нужно налить ровно 12, у нас 2 ведра 11 и 7 и есть кран, и пусть 2 руки, наши действия?

Помоему ты либо тролишь

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

тогда чем это отличаеться от задачи

Ну очевидно же что ничем!!!

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

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

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

Я написал что налить один литр в ванную в конце процесса когда ванна уже почти наполнена займет одну операцию.

Вот этот момент не очевиден, вы говорите что ванную нельзя наполнять до краев, то есть нам надо получить 1 литр имея 2 ведра в 11 и 7 литров, согласно вашей рекурсии с A-B это не очевидно как сделать имея только 2 ведра и во сколько шагов это будет стоить, к примеру существует версия что в 12 шагов используя 2 ведра сперва нацедив 8 потом 4 будет быстрее чем нацедить 1 литр

а еще потенциальны варианты заполнения 6+6, 4+4+4 итд... ведь разные количества лиров получаються в разное количество шагов, и мне было интересно как элегантная формула a-b позволяет их узнать, конечно же имея таблицу литр-шаги, решить задачу очень просто, это будет старый добрый рюдзак

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

Ты там говорил что собеседования проводишь

хм, где? ранова-то ж еще

к примеру существует версия что в 12 шагов

Надеюсь код снимет все вопросы: pastebin.com/rdiWwrVU
У меня получилось 8 шагов.

Уложился ровно в 5 минут.

хм, где? ранова-то ж еще

Может уже поздновато?

Код, похож кстати только непонятно где вы ванну-n наполняете, и кстати не заметно что только одного a-b хватило, ну то ладно, но в целом можно сказать если у вас это заняло 5 мин закодить с момента первой публикации задачи без уточнений что ж круто, надо будет знать и если вы не против возьму ваш код на заметку, ато я на плюсах писал там больше с коментами

олько непонятно где вы ванну-n наполняете

Очевидно это код для генерации одного литра(или сколько тебе нужно).

и кстати не заметно что только одного a-b хватило

Ну очевидно что а-б это составная операция с некоторыми corner cases.

если вы не против возьму ваш код на заметку

копирайт только не забудь при использовании.

Жесть, а вот как решают ту же задачу люди с функциональным программированием головного мозга: habrahabr.ru/...39659/#habracut

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

у меня похожий код

Искренне сочувсвтвую.

который кстати прокатил, учитывая последующие действия

Ничего удивительного — амазон известная индо-гужевая контора с текучкой кадров активно набирающая джуниоров.

Ну иногда лучше воробей в руке :) чем синица неизвестно где, а у вас есть лучше предложения?

а у вас есть лучше предложения?

Да нет, возможно это действительно твое призвание — работать джуниором в амазоне.

Не не сложилось уже :), так что не судьба

ех, жаль, а было бы интересно узнать какие есть клевые конторы с точки зрения професионала ;) ведь кому-то из треда это может помочь с выбором

кстати, что не так с кодом с вашей точки зрения? или отсутсвие логическое именование, коментарии и вменяемый вывод результата это ныне признак плохого решения — я про харбар

а было бы интересно узнать какие есть клевые конторы с точки зрения професионала

Я на этом форуме уже много раз говорил — учить форт и идти например к этим чувакам: www.greenarraychips.com

кстати, что не так с кодом с вашей точки зрения?

Ну ты посмотри на мой код и на их, думаю вопросы сразу отпадут.

Ну у вас нет коментариев что и почему вы делаете, senseless имена переменых и функций, отсутвие обьянения результата/output (просто дошли до него по рекурсии, а как это руками делать с ведрами не ясно)

У них это есть, не уверен почему вы считаете что так лучше? особенно в условиях промышленого програмирования

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

Ты опять какую то фигню пишешь

Ну у вас нет коментариев что и почему вы делаете

Ты что то куришь? У них в программе тоже ни одного коментария!

senseless имена переменых и функций

А у товарищей в статье они полны смысла: m,n,k,d,mx,mf,mb

отсутвие обьянения результата/output (просто дошли до него по рекурсии, а как это руками делать с ведрами не ясно)

Это вообще на 2 минуты проблема: pastebin.com/3eAqTGPc

к примеру чем работа на кластером того же Амазона/Гугля/Яху/МС итд.. хуже если говорим о паралельности, а ведь еще много других задач?

Наличием гигабайт гавнокода и индусским быдломенеджментом например.

Ты что то куришь? У них в программе тоже ни одного коментария!

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

А у товарищей в статье они полны смысла: m,n,k,d,mx,mf,mb

Measurement a = Filling — достаточно читабельно
далее тоже:
| mn’ == mn = Emptying (0, mx’) mn :
> measureBackward ((mn, 0), (mx, mx’)) k
>  | mx’ == 0 = Filling (mn’, mx) mx :
> measureBackward ((mn, mn’), (mx, mx)) k
переменые да, не айс, но функции именованые что облегчает симантическое понимание по сравнению с:
f(a, x + y — a, ops + 1)

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

Это вообще на 2 минуты проблема: pastebin.com/3eAqTGPc

Согласен, когда есть хороший рабочий код, свистелки добавляються на раз, но вы просто спросили в чем отличия

Наличием гигабайт гавнокода и индусским быдломенеджментом например.

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

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

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

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

Ну посамоутешайся наздоровье.

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

Зачем утешаться, пока не ясно чем ваш пример компании лучше и что она может предложить что бы жалеть о том что в ней не работаешь, соотвествено жалеть и самоутешаться не о чем :)

То есть, вы считатаете что писать коментарии к коду это глупо, так как нормальный програмист может во всем разобраться, а кто не разобрался тот свободен? :)

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

пока не ясно чем ваш пример компании лучше

Я уже написал чем.

что она может предложить что бы жалеть о том что в ней не работаешь

Тебе думаю она ничего предлагать не станет.

соотвествено жалеть и самоутешаться не о чем

Ну не самоутешайся. Я ж не заставляю.

Коментар порушує правила спільноти і видалений модераторами.

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

то есть вы хотите сказать что при чтении смысла алгоритма, нужно

f(a, x + y — a, ops + 1)

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

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

пока не ясно чем ваш пример компании лучше

Я уже написал чем.

Если вы про это
к примеру чем работа на кластером того же Амазона/Гугля/Яху/МС итд.. хуже если говорим о паралельности, а ведь еще много других задач?

Наличием гигабайт гавнокода и индусским быдломенеджментом например.

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

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

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

то есть вы хотите сказать что при чтении смысла алгоритма

Я такого не хочу сказать, оставь свой бред при себе.

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

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

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

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

ведь вы же наверное не своей компание хвастаете, а помогаете народу выбрать правильный путь?

Откуда ты этот весь бред вообще взял что я чем то там хвастаюсь и кому то хочу/не хочу помогать?

Откуда ты этот весь бред вообще взял что я чем то там хвастаюсь и кому то хочу/не хочу помогать?

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

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

J-1 и PhD в Универе? тогда наверное к примеру стоит заметить что годовой доход и другие условия, как например компенсация или просто организация переезда может быть разной

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

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

если вам не нравиться додумывание за вас может стоит тогда не много делиться своими причинами

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

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

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

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

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

опять же ни сказав ни слова почему,

Мне впадлу изголятся о очевидных вещах перед человеком цель которого нафлудить поумничать и потролить.

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

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

наполнения ванны(которая вполне может быть решена рюкзаком) к задаче отмера одного литра

В изначальной постановке была ванна и 2 ведра и я просто привел конкретный пример в 12 или 1 литров, где имея ведра в 11 и 7 литров надо найти 1 литр или другие комбинации что бы общюю задачу рюдзака свести к какой-то кокретике, так как в задаче о рюдзаке полагаеться что уже начально известны стоимости и веса, в случае с ваной эти веса надо еще вычислить что есть отдельная задача к котрой мы и пришли, так как просто задача о рюдзаке не достаточно раскрывала решение, на всяк привожу определение: ru.wikipedia.org/.../Задача_о_ранце

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

Если вы внимательно прочитаете мой пост выше:

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

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

Мне впадлу изголятся о очевидных вещах перед человеком цель которого нафлудить поумничать и потролить.

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

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

В изначальной постановке была ванна и 2 ведра и я просто привел конкретный пример в 12 или 1 литров, где имея ведра в 11 и 7 литров надо найти 1 литр или другие комбинации что бы общюю задачу рюдзака свести к какой-то кокретике, так как в задаче о рюдзаке полагаеться что уже начально известны стоимости и веса, в случае с ваной эти веса надо еще вычислить что есть отдельная задача к котрой мы и пришли, так как просто задача о рюдзаке не достаточно раскрывала решение, на всяк привожу определение: ru.wikipedia.org/.../Задача_о_ранце

И че?

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

Я очень огорчен судьбой твоего кореша.

и отвечал на ваши вопросы

Ты шота опять бредишь, никаких вопросов я тебе не задавал. Разве что может один-два риторических.

В продолжение еще не много задачек из амазона интервью: найти последовательность с макс суммой в масиве с отрицательными и положительными числами — линейное время, константная память, вывести все кратчайшие маршруты на графе между 2мя точками в разных случаях

Ну как где-то читал: собеседование в такие компании как Микрософт, Гугль, Амазон — это как институтский экзамен, только с очень большим списком возможных вопросов.

Вчера у меня тоже была задача на массив. Даже не удосужились задание поменять =).

Аналогично, простой подсчёт в массиве то ли с оптимизацией по скорости, то ли по памяти. По ходу всем одно и то же кидали или многим.

Пойдите на гласдор и индид там есть много задач из последних интервью амазона. И еще совет готовьтесь к индускому английскому.

Да event весьма интересный. Даже если не планируешь к ним ехать, это , в любом случае, хороший challenge. BTW они уже начали проводить телефонные interview. У меня завтра будет. Так что расскажу детали после, кому интересно. Как уже было упомянуто, акцент у них на алгоритмы, структуры данных, ОС (потоки, семафоры, вирт память и тд), БД (особенно нормализация) . Короче классика жанра.

Странно, мне наоборот написали что по телефону не будет проводится. В любом случае отпишитесь как прошло. Интересно

Мне сначала тоже написали, что будет телефонное НЕтехническое интервью, а потом пришлют задание, но сегодня ночью прислали запрос, когда у меня будет время решить их задачи.

А можно поподробнее про сам event? Спасибо.

Как то так -
We are holding a Recruiting Event in Kiev, Ukraine on March 19th-23rd, 2012. During the event you will have an opportunity to interview with our technical team for the positions opened at Amazon. The roles are located in a beautiful Seattle area. We do cover relocation and immigration expenses. We also cover travel and accommodation expenses for you to come the recruiting event if you are not located in Kiev.

Связывались через линкедин. Общаюсь там же.

Коментар порушує правила спільноти і видалений модераторами.

Очень здорово, что они рассматривают Украину как инкубатор потенциальных кандидатов

Я бы предпочел чтобы они открыли здесь офис. Мне очень не нравится, что потенциал Украины уменьшается из-за таких вот компаний =). Конечно, на это есть свои причины и я их понимаю...

Часом нет ли у вас информации о фундаментальных технических требованиях к собеседованию в других компаниях?

Ну об этом уже много написано на хабре и тут вот ссылки уже давали на литературу и блог.

19-23 марта собеседования, а когда переезд в штаты? это вообще длительный процесс оформление и т.д.?

Не известно. Не думаю что длительный.

Скорее всего они ходят до открытия апрельской квоты на Х1б решить кого берут с собой что бы в октябре/последней неделе сентябля встретить на месте

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

Перечень требований практически слово в слово совпадает с тем, что озвучил их бывший сотрудник в своем блоге 4 года назад steve-yegge.blogspot.com/...-at-google.html Там же он ссылается на книгу «Introduction to Algorithms», которая поможет за пару недель подтянуть знания. На Amazone она с доставкой стоит недёшево, около 600 грн. А вообще, сделав себя хорошим специалистом, не обязательно работать в Google или Amazon ;-)

не обязательно работать в Google или Amazon

Я и не говорю что нужно там работать. Лично для меня это собеседование это некий вызов проверить свои силы + интересно как «оно» проходит у «них». И вообще я противник работы в больших корпоративных монстрах =).

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

Коментар порушує правила спільноти і видалений модераторами.

Хм, а что им мешает? Если компания не делает можно самому юриста нанять

кстати, а на какой виже можно дольше 6ти лет сидеть и не быть в очереди на ПМЖ?

Коментар порушує правила спільноти і видалений модераторами.

Так вы говорите о гражданстве, то есть о процессе натурализации? или ЛПР в народе ГК? гражданство стоит получить до 1к с учетом всех бумажек ГК зависит от компании но в часном порядке где-то 10к, что для ЗП Амазона не смертельно, более того они все делают по-умолчанию сами

Ну я про то и говорю, насколько мне известно процесс транформации х1б -> ГК у гугла и амазона поставлен очень неплохо.

Люди десятилетиями сидят на рабочих визах, и мечтают о ПМЖ.

вы говорите о вещах в которых не разбираетесь. К примеру, Amazon обеспечивает полную визовую поддержку, в том чилсе оформление гринкард. На сегодняшний день процессинг EB2 гринкарты занимает 1-2 года.

Коментар порушує правила спільноти і видалений модераторами.

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

В письме писали, что оформление ГК можно начать через 6 месяцев трудоустройства у них.

А вообще, сделав себя хорошим специалистом, не обязательно работать в Google или Amazon

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

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

Коментар порушує правила спільноти і видалений модераторами.

Каких? просто интересно узнать вашу точку зрения, вы видимо уже что-то знаете об этом

Коментар порушує правила спільноти і видалений модераторами.

Почему же не высказать ваше личное мнение? Что в той книге вас так потрясло?

Коментар порушує правила спільноти і видалений модераторами.

Но вы же почему-то сделали это утверждение от своего имени? значит что-то за ним имеете? или вы забыли добавить в своем посте что все это согласно книге см референс?

Давайте начнём сначала. Вам интересно было узнать мою точку зрения. Я в ответ, сославшись на недостаток времени, посоветовал вам неплохую книгу о том, как идёт процесс трудоустройства. Там описано много чего ещё. Если вам интересна тема — читайте. Естественно, что с чем-то из книги я согласен, с чем-то — нет. У вас есть шанс составить своё мнение и, при наличии времени, рассказать о нём. Мне нравится такая аналогия: большая компания похожа на галеру: греби быстрее или медленнее, а за счет большого количества «средних» галера быстрее не поедет. Также имеются бюрократия, корпоративные стандарты, корпоративный код, политика, отсутствие внутренней клиенториентации. Я говорю не о конкретной компании, а о больших компаниях вцелом. Несмотря на это есть много достоинств, в частности она является хорошим местом для входа в отрасль для студентов и junior developers ;-)

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

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

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

(в смысле, отличаются, конечно — но лишь в худшую сторону во всём, от осмысленности процессов, до интересности/современности заданий).

все идивидуально от проекта к проекта. Но в среднем одно и то же. В топ компаниях просто компенсационный пакет получше.

Почему же не высказать ваше личное мнение? Что в той книге вас так потрясло?

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

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

Рейтинг книжки на амазоне не подтверждает вашу точку зрения

У «Дома-2» тож рейтинги повыше NG будут и сами по себе не плохие раз он еще держиться, но разве вы рискнете утверждать что он полезнее?

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

Рейтинг книжки на амазоне не подтверждает вашу точку зрения

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

Вы забываете об огромном количестве недостатков.

мой пост и не притендовл на полное описание достоинств и недостатков работы в top компании

Goole или Amazon, Microsoft или Adobe тут уже неважно

в корне не верное замечание, какая именно компания как раз имеет очень большое значение

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

вот эта книжка может помочь в подготовке: Cracking Coding Interview

эту тоже не плохо почитать, чтобы на всякий случай быть готовым к вопросу о круглых люках: How Would You Move Mount Fuji не знаю задает брейнтизеры амазон или нет, но быть готовым не помешает

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

Підписатись на коментарі