Я бываю не очень внимателен к деталям. В этом есть и хорошая сторона — я быстро выполняю задания, но иногда все-таки делаю ошибки по невнимательности. Именно поэтому я по несколько раз проверяю полученный результат
«О» большое — метрика, используемая для описания эффективности алгоритмов. Плохое понимание этой темы сильно вредит навыкам разработки алгоритмов. Мало того что оно произведет плохое впечатление на собеседовании, — такому разработчику будет трудно понять, в каких ситуациях его алгоритм начинает работать быстрее или медленнее.
Можно ли изучить материал при необходимости? Бесспорно. Однако очень трудно понять, что в данной ситуации может пригодиться бинарное дерево поиска, если вы не знаете о его существовании, а если вы знаете о его существовании, то, скорее всего, понимаете и основные механизмы его работы.
Если вы можете решить несколько сложных задач (возможно, с некоторой помощью), то, скорее всего, вы неплохо справитесь с разработкой оптимальных алгоритмов. Проще говоря, вы умны.
В отличие от крупных компаний, которые оценивают ваше умение разрабатывать программное обеспечение, стартапы в основном смотрят на ваши личностные качества, квалификацию и предшествующий опыт:
• Личная совместимость. Личная совместимость обычно оценивается по вашему общению с интервьюером. Дружеская, содержательная беседа — это залог получения вакансии.
• Набор навыков. Поскольку стартапам нужны люди, которые сразу могут приступить к работе, они будут оценивать ваши навыки программирования на конкретном языке. Если вы знакомы с языком, на котором работает стартап, повторите его основы.
• Предыдущий опыт. В стартапах задают много вопросов о предыдущем опыте. Уделите особое внимание части V «Подготовка к поведенческим вопросам».
В дополнение к перечисленным критериям на собеседовании часто задаются вопросы по программированию и алгоритмизации, которые вы найдете в этой книге.
В процессе решения постарайтесь рассуждать вслух и объяснить свой ход мыслей. Иногда интервьюер может вступить в разговор, чтобы помочь вам; не сопротивляйтесь. Это нормально; не думайте, что у вас что-то не получается. (Хотя конечно, если подсказки вам не нужны, тем лучше.)
Подготовиться! Самой молодой из «элитных» IT-компаний нужны разработчики с предпринимательской жилкой. Покажите, что вы инициативны и можете быстро работать.
От вас ждут, что вы можете построить элегантное и масштабируемое решение на любом языке по вашему выбору. Знание PHP особой роли не играет, особенно если учесть, что во внутренней работе Facebook широко применяются C++, Python, Erlang и другие языки