Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию

Г. Лакман Макдауэлл

Пятое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других. Рассмотрены типичные ошибки, которые допускают кандидаты, а также эффективные методики подготовки к собеседованию. Используя материал этой книги, вы с легкостью подготовитесь к устройству на работу в Google, Microsoft или любую другую ведущую IT-компанию.

Издательство: Питер, 2012 г.

ISBN 978-5-459-01120-3

Количество страниц: 416.

Содержание книги «Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию»:

  • 13 Предисловие
  • 14 Введение
    • 14 Что-то не так
    • 15 Мой подход
    • 15 Моя страсть
    • 15 От издательства
  • 16 Часть I. Процесс собеседования
    • 16 Небольшое вступление
    • 16 Как выбираются вопросы
    • 17 График и карта подготовки
    • 20 Процедура оценки
    • 20 Неправильные ответы
    • 21 Дресс-код
    • 21 10 наиболее частых ошибок
      • 21 1. Использование компьютера
      • 22 2. Игнорирование поведенческих вопросов
      • 22 3. Отказ от псевдо-интервью
      • 22 4. Попытка зазубрить ответ
      • 22 5. Решение задачи «в уме»
      • 22 6. Спешка
      • 23 7. Грязный код
      • 23 8. Отказ от проверки
      • 23 9. Небрежное отношение к исправлению ошибок
      • 23 10. Отказ от решения
    • 23 Часто задаваемые вопросы
      • 23 Нужно ли мне говорить интервьюеру, что я уже знаком с вопросом?
      • 24 Какой язык программирования следует использовать?
      • 24 После собеседования мне ничего не сказали. Мне отказали?
      • 24 Могу ли я попытаться еще раз, если мне отказали?
  • 25 Часть II. За кулисами
    • 25 Microsoft
    • 26 Amazon
    • 27 Google
    • 28 Apple
    • 29 Facebook
    • 30 Yahoo!
  • 31 Часть III. Нестандартные случаи
    • 31 Кандидат-профессионал
    • 31 Тестеры и SDET
      • 32 Совет
    • 32 Менеджеры программ и менеджеры продукта
    • 33 Ведущие разработчики и менеджеры
      • 34 Стартап
      • 34 Процесс подачи заявления
      • 34 Виза и разрешение на работу
      • 35 Резюме
      • 35 Процесс собеседования
  • 36 Часть IV. Перед собеседованием
    • 36 Получаем «правильный» опыт
    • 37 Налаживаем связи
      • 37 Правильный круг знакомств
      • 37 Как построить сильный круг знакомств
    • 38 Идеальное резюме
      • 38 Правильный размер
      • 38 Трудовой стаж
      • 39 Проекты
      • 39 Языки программирования и программные продукты
  • 40 Часть V. Подготовка к поведенческим вопросам
    • 40 Поведенческие вопросы
      • 40 Как подготовиться
      • 41 Ваши слабые места
      • 41 Что заставляет вас работать
      • 41 Какие вопросы нужно задавать интервьюеру
    • 42 Ответы на поведенческие вопросы
      • 42 Отвечайте четко, но без высокомерия
      • 42 Сократите подробности до минимума
      • 42 Структурируйте ответ
  • 44 Часть VI. Технические вопросы
    • 44 Подготовка
      • 44 Как организовать подготовку
      • 44 Что нужно знать
      • 45 Таблица степеней двойки
      • 45 Нужно ли знать все о программировании на C++, Java или других языках
    • 46 Ответы на технические вопросы
      • 46 Пять шагов к решению
    • 48 Пять подходов к алгоритмизации
      • 48 Подход 1. Приводим пример
      • 49 Подход 2. Сопоставление с образцом
      • 49 Подход 3. Упростить и обобщить
      • 50 Подход 4. Базовый случай и сборка решения
      • 50 Подход 5. Мозговой штурм структур данных
    • 51 Как выглядит хороший код
      • 51 Структуры данных
      • 52 Обоснованное многократное использование кода
      • 53 Модульность
      • 55 Гибкость и надежность
      • 55 Проверка
  • 56 Часть VII. Жизнь после собеседования
    • 56 Реакция на предложение и на отказ
      • 56 Сроки принятия решения
      • 56 Вы отказываетесь от работы
      • 56 Вам отказали
    • 56 Вам сделали предложение
      • 57 Финансовый пакет
      • 57 Карьерный рост
      • 58 Стабильность компании
      • 58 Удовольствие от работы
    • 58 Переговоры
    • 59 На работе
      • 59 Создайте график своего карьерного роста
      • 60 Устанавливайте прочные отношения
      • 60 Спросите себя, что вам нужно
  • 61 Часть VIII. Вопросы собеседования
  • 61 1. Массивы и строки
    • 61 Хэш-таблицы
    • 62 ArrayList (динамический массив)
    • 62 StringBuffer (буфер строк)
    • 63 Вопросы интервью
  • 64 2. Связные списки
    • 64 Создание связного списка
    • 64 Удаление узла из односвязного списка
    • 65 Метод бегунка
    • 65 Рекурсия и связные списки
    • 65 Вопросы собеседования
  • 67 3. Стек и очередь
    • 67 Реализация стека
    • 67 Реализация очереди
    • 68 Вопросы собеседования
  • 70 4. Деревья и графы
    • 70 Потенциальные ловушки
      • 70 Бинарное дерево vs бинарное дерево поиска
      • 70 Сбалансировано vs несбалансировано
      • 70 Полнота дерева
    • 70 Обход бинарного дерева
    • 70 Балансировка: красно-черные и АВЛ-деревья
    • 71 Префиксное дерево
    • 71 Обход графа
      • 71 Поиск в глубину
      • 72 Поиск в ширину
    • 72 Вопросы собеседования
  • 74 5. Поразрядная обработка
    • 74 Расчеты на бумаге
    • 75 Биты: трюки и факты
    • 75 Основные задачи: получение, установка, очистка и обновление бита
      • 75 Извлечение бита
      • 75 Установка бита
      • 75 Очистка бита
      • 76 Обновление бита
    • 76 Вопросы собеседования
  • 78 6. Головоломки
    • 78 Начните говорить
    • 78 Правила и шаблоны
    • 79 Балансировка худшего случая
    • 79 Алгоритмический подход
    • 80 Вопросы собеседования
  • 81 7. Математика и теория вероятностей
    • 81 Простые числа
      • 81 Делимость
      • 81 Является ли число простым
      • 82 Список простых чисел: решето Эратосфена
    • 83 Теория вероятностей
      • 83 Вероятность события {A and B}
      • 84 Вероятность события {A or B}
      • 84 Независимость событий
      • 84 Взаимоисключающие события
    • 85 Обратите внимание!
    • 85 Вопросы собеседования
  • 86 8. Объектно-ориентированное проектирование
    • 86 Как подготовиться к заданиям по ООП
    • 87 Разработка шаблонов
      • 87 Singleton
      • 88 Factory Method
    • 88 Вопросы собеседования
  • 90 9. Рекурсия и динамическое программирование
    • 90 С чего начать
    • 90 Динамическое программирование
      • 90 Простой пример динамического программирования: числа Фибоначчи
    • 91 Рекурсивные и итерационные решения
    • 92 Вопросы собеседования
  • 94 10. Сортировка и поиск
    • 94 Общие алгоритмы сортировки
    • 97 Алгоритмы поиска
    • 97 Вопросы собеседования
  • 99 11. Масштабируемость и ограничения памяти
    • 99 Пошаговый подход
    • 99 Что нужно знать: информация, стратегия и проблема
      • 99 Типичная система
      • 100 Разделение данных
    • 101 Пример: найдите все документы, содержащие список слов
    • 102 Вопросы собеседования
  • 104 12. Тестирование
    • 104 Чего ожидает интервьюер
    • 105 Тестирование реального объекта
    • 106 Тестирование программного обеспечения
    • 107 Тестирование функций
    • 108 Поиск и устранение неисправностей
    • 109 Вопросы собеседования
  • 110 13. C и C++
    • 110 Классы и наследование
    • 111 Конструкторы и деструкторы
    • 111 Виртуальные функции
      • 112 Виртуальный деструктор
    • 113 Значения по умолчанию
    • 114 Перезагрузка операторов
    • 114 Указатели и ссылки
      • 114 Ссылки
    • 114 Арифметика указателей
    • 115 Шаблоны
    • 116 Вопросы собеседования
  • 117 14. Java
    • 117 Подход к изучению
    • 117 Ключевое слово final
    • 117 Ключевое слово finally
    • 118 Метод finalize
    • 119 Перегрузка vs переопределение
    • 120 Java Collection Framework
    • 120 Вопросы собеседования
  • 122 15. Базы данных
    • 122 SQL-синтаксис и его варианты
    • 122 Денормализованные и нормализованные базы данных
    • 123 SQL-операторы
      • 123 Запрос 1: регистрация студента
      • 124 Запрос 2: размер аудитории
    • 125 Проектирование небольшой базы данных
    • 126 Проектирование больших баз данных
    • 126 Вопросы собеседования
  • 128 16. Потоки и блокировки
    • 128 Потоки в Java
    • 129 Расширение класса Thread
    • 130 Расширение класса Thread vs реализация Runnable-интерфейса
    • 130 Синхронизация и блокировки
      • 130 Методы синхронизации
      • 132 Синхронизованные блоки кода
      • 132 Блокировки
    • 133 Взаимные блокировки и их предотвращение
    • 134 Вопросы собеседования
  • 135 17. Задачи умеренной сложности
  • 138 18. Задачи повышенной сложности
  • 140 Часть IX. Решения
    • 140 1. Массивы и строки
    • 150 2. Связные списки
    • 166 3. Стеки и очереди
    • 182 4. Деревья и графы
    • 200 5. Поразрядная обработка
    • 214 6. Головоломки
    • 219 7. Математика и теория вероятностей
    • 233 8. Объектно-ориентированное проектирование
    • 264 9. Рекурсия и динамическое программирование
    • 285 10. Сортировка и поиск
    • 301 11. Масштабируемость и ограничения памяти
    • 316 12. Тестирование
    • 321 13. C и C++
    • 332 14. Java
    • 339 15. Базы данных
    • 345 16. Потоки и блокировки
    • 357 17. Задачи умеренной сложности
    • 385 18. Задачи повышенной сложности
  • 412 Благодарности
  • 413 Об авторе

Инструкция как скачать книгу Г. Лакман Макдауэлл: Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию
Рейтинг книги:
1 голос
1048

Поиск книг:




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

Статистика: