Книга «Кар'єра програміста. 6-е видання»

Привіт, Хаброжители! У нас вийшло 6-е видання книги Гейл Лакман Макдауелл:

image Книга «Кар'єра програміста» заснована на досвіді практичної участі автора в безлічі співбесід, проведених кращими компаніями. Це квінтесенція сотень інтерв'ю з безліччю кандидатів, результат відповідей на тисячі питань, що задаються кандидатами і інтерв'юерами в провідних світових корпораціях. З тисяч можливих завдань і питань до книги були відібрані 189 найбільш цікавих і значущих. Шосте видання цього світового бестселера допоможе вам найкращим чином підготуватися до співбесіди при прийомі на роботу програмістом або керівником у велику IT-організацію або перспективний стартап. Основну частину книги складають відповіді на технічні питання і завдання, які зазвичай отримують претенденти на співбесіді в таких компаніях, як Google, Microsoft, Apple, Amazon і інших. Розглянуто типові помилки, які допускають кандидати, а також ефективні методики підготовки до співбесіди. Використовуючи матеріал цієї книги, ви з легкістю підготуєтеся до влаштування на роботу в Google, Microsoft або будь-яку іншу провідну IT-компанію.



Передмова

Я ( Гейл Лакман Макдауелл ) не HR-менеджер і не роботодавець, а всього лише розробник програмного забезпечення. Саме тому я знаю, що може статися на співбесіді (наприклад, вас попросять швиденько розробити блискучий алгоритм, а потім написати до нього бездоганний код). Мені самій давали такі ж завдання, коли я проходила співбесіду в Google, Microsoft, Apple, Amazon і в інших компаніях.

Траплялося мені бути і по іншу сторону барикад — я проводила співбесіди, переглядала стопки резюме претендентів, займаючись підбором персоналу. Я оцінювала те, як вони вирішували — чи намагалися вирішувати складні завдання. Я сперечалася в комітеті по набору персоналу Google, досить добре показав себе кандидат для отримання роботи. Саме тому я з повною упевненістю можу стверджувати, що мені знайомі всі тонкощі процесу найму, тому що я неодноразово пройшла його повністю.

Якщо ви читаєте цю книгу, то це означає, що ви збираєтеся пройти співбесіду завтра, наступного тижня або через рік. І я постараюся зміцнити ваше розуміння основ комп'ютерної теорії, а потім покажу, як застосовувати їх для успішного проходження співбесід.

У 6-му виданні книги матеріал 5-го видання був доповнений більш ніж на 70%: додаткові питання, оновлені рішення, введення до голів, нові стратегії алгоритмів, підказки до всіх завдань та інші матеріали. Обов'язково загляньте на сайт CrackingTheCodingInterview.com, там ви можете поспілкуватися з іншими шукачами і отримати нову інформацію. Навички, які ми будемо розвивати, принесуть величезну користь. Хороша підготовка дозволить вам розширити ваші технічні та комунікативні здібності, а це ніколи не буває зайвим. Уважно прочитайте вступні глави. Можливо, саме наведений у них матеріал зіграє ключову роль в ухваленні рішення про найм на роботу.

І пам'ятайте: співбесіда буде складним! Свого часу (в період моєї роботи в Google) я бачила багатьох інтерв'юерів, одні з них ставили «легкі» запитання, а інші — «складні». І знаєте що? Прості питання зовсім не означали, що кандидату буде простіше отримати роботу. Головне — не бездоганні відповіді на питання (таке буває дуже рідко!). Головне, щоб ваша відповідь була краще, ніж у інших кандидатів. Та не панікуйте, якщо вам дістався складне питання, — ті, хто його задають, знають, що питання складний і не чекають від вас ідеального відповіді.

Введення

Щось пішло не так

Чергова співбесіда обернулася розчаруванням… в черговий раз. Ніхто з десяти кандидатів не отримав роботу. Може бути, ми були занадто суворими? Я була особливо засмучена: ми відмовили одному з моїх кандидатів. Мій колишній студент. Той, кого я рекомендувала. У нього був досить високий середній бал у Вашингтонському університеті — одній з кращих шкіл світу з комп'ютерних дисциплін, — і він активно займався проектами з відкритим кодом. Він був енергійний, кмітливий, мав творчим мисленням, наполегливо працював і був комп'ютерним фанатом в хорошому сенсі цього слова.

Але я була змушена погодитися з думкою інших членів комісії: він показав себе не кращим чином. Навіть якщо б зіграла свою роль моя рекомендація, моєму учневі все одно відмовили б на більш пізніх етапах відбору. Занадто багато було «червоних карток.

Незважаючи на свій розум, кандидат насилу справлявся з поставленими завданнями. Більш успішні кандидати швидко розібралися з першим питанням, який був побудований на відомій задачі, а у мого студента виникли проблеми з розробкою алгоритму. Коли він нарешті спромігся алгоритм, то не врахував можливість оптимізації для інших сценаріїв. Коли справа дійшла до написання коду, він допустив багато помилок. Це був не найгірший кандидат, але всі бачили, як йому далеко до переможного результату.

Через пару тижнів він подзвонив мені, а я не знала, що сказати. Потрібно стати ще розумнішими? Справа була не в цьому, я знала, що у нього блискучий розум. Навчитись програмувати? Ні, його навички були не гірше, ніж у інших програмістів, яких я знала.

Він ретельно готувався, як і більшість кандидатів. Він вивчив класичний підручник Кернигана і Річі, він прочитав CLRS ((Т. Кормен, Ч. Лейзерсон, Р. Рівестом, К. Штайн. Алгоритми. Побудова і аналіз). Він може описати в подробицях безліч способів балансування дерева і вміє робити на C таке, на що не наважиться жоден нормальний програміст.

Мені довелося сказати йому гірку правду — книжкового академічної освіти недостатньо. Книги — це чудово, але вони не допоможуть вам пройти співбесіду. Чому? Підкажу: інтерв'юери не бачили червоно-чорних дерев з часів свого навчання в університеті. Щоб успішно пройти співбесіду, потрібно готуватися реальних питаннях, що зустрічаються на співбесідах. Потрібно вирішувати реальні завдання і вивчати зустрічаються закономірності. Головне — розробка нових алгоритмів, а не запам'ятовування існуючих завдань.

Книга «Кар'єра програміста» заснована на досвіді мого практичного участі у безлічі співбесід, проведених кращими компаніями. Це квінтесенція сотень інтерв'ю з безліччю кандидатів, результат відповідей на тисячі питань, що задаються кандидатами і інтерв'юерами в провідних світових корпораціях. В цю книгу з тисяч можливих завдань і питань були відібрані 189 найбільш цікавих.

Мій підхід

У даній книзі основну увагу приділено завданням алгоритмізації, програмування і дизайну. Чому? Тому що відповіді на «поведінкові» питання можуть бути такими ж різноманітними, як і ваше резюме. І хоча в деяких фірмах задають питання на ерудицію (наприклад, «Що таке віртуальна функція?»), навички, отримані в ході підготовки до таких питань, вельми обмежені вузькими областями. Я розповім і про таких питаннях, але перш за все я хотіла б приділити увагу більш складним речам.

Моя пристрасть

Викладання — це моя пристрасть. Мені подобається допомагати людям вдосконалюватися і пізнавати нове. Свій перший офіційний викладацький досвід я отримала в коледжі Пенсільванського університету на посаді асистента, викладача, це був курс інформатики. Як технічного спеціаліста Google, мені завжди подобалося навчати і курирувати нові кадри. Я навіть використала свої 20 % часу для викладання двох нових курсів інформатики у Вашингтонському університеті.

Пройшли роки. Тепер я знову займаюся викладанням інформатики, але на цей раз з більш конкретною метою — для підготовки технічних фахівців до прийому на роботу. Я бачила їх помилки і ті проблеми, з якими вони стикаються, і розробила методи і стратегії для їх подолання.

Більш докладно з книгою можна ознайомитися на сайті видавництва
Зміст
Уривок

Для Хаброжителей знижка 25% по купону — Макдауелл

P. S Книга доступна тільки в паперовому вигляді, в даний момент ведуться переговори щодо отримання элеронных прав. Орієнтовно в цифровому вигляді книга буде у продажу через 1,5-2 місяці. Якщо все складеться вдало, всім хто купить паперову версію — элеронная копія прийде безкоштовно на e-mail, вказаний при реєстрації.

На сьогоднішній момент, при оплаті 6-го видання, на e-mail прийде элеронная версія попереднього видання книги.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.