Изменено из 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 марафонов. Я обученный британский солдат.

Вот что я хотел бы знать, когда был моложе: