Изменено из Glassdoor:
Знайте следующее:
- Просмотрите все старые вопросы собеседования в Glassdoor. Если вы можете решить 95% из них дома (включая их быстрое кодирование и тестирование в настройке отладчик + редактор), вы в хорошей форме.
А потом:
- Динамическое программирование
- Суперрекурсия (перестановка, комбинация,… 2 ^ n, m ^ n, n!… И т. Д. Тип программы. (NP-программы, NP-программы)
- Программы, связанные с вероятностью
- Графики: BFS / DFS обычно достаточно
- Все основные структуры данных от массивов / списков до кольцевых очередей, BST, хеш-таблиц, B-деревьев и красно-черных деревьев, а также все базовые алгоритмы, такие как сортировка, двоичный поиск, медиана
- Способность решать задачи на уровне, аналогичном TopCoder Division 1, 250 баллов. Если вы сможете последовательно решать эти проблемы, то почти наверняка справитесь с этой задачей за 2 недели.
- Практикуйтесь в кодировании - пишите часто и много пишите. Если вы можете придумать решение, вы сможете легко его закодировать ... без особых раздумий.
- Очень хорошо иметь на собеседовании по проектированию: знание распределенных систем и практический опыт.
- Хорошее понимание основ дискретной математики, компьютерной архитектуры, основ математики.
- Курсы и задания Coursera дают много того, что вам нужно знать. 12) Обратите внимание, что все вышеперечисленное, кроме первых двух, полезно и в «реальном» программировании!
- Интервью 1: вопрос, связанный с графиком, и суперрекурсия
- Интервью 2: обсуждение проекта с участием распределенной системы с параллельной записью / чтением на разных сайтах.
- Интервью 3: вопросы, связанные с массивами и деревьями
- Интервью 4: создание простого класса для чего-либо. Несложно, но и не просто. Вам нужно очень хорошо знать основные структуры данных, чтобы учитывать различные конструкции и компромиссы.
- Интервью 5: динамическое программирование, компьютерная архитектура и производительность низкого уровня. расширенный вопрос, требующий знаний о деревьях, бинарном поиске и т. д. В конце концов, я не устал и получил удовольствие от обсуждения. Я думаю, что ключевым моментом была долгая подготовка и время, потраченное на топкодер в течение нескольких лет (время от времени, поскольку мне нравится решать проблемы).
Вывод: «Не лучшие выигрывают гонку; победит тот, кто лучше подготовлен ".
— — — — — — — — — — — — — —
Мне 30 лет. Я жила в 9 странах. Ездил на 50+. В 2 раза собраны деньги для технологических компаний. Я работал в Deloitte. Был бездомным. Бежать 20 марафонов. Я обученный британский солдат.
Вот что я хотел бы знать, когда был моложе: