webdevdao icon indicating copy to clipboard operation
webdevdao copied to clipboard

База вопросов собеседований и roadmap (карта знаний) web-программиста

Что это?

Roadmap или карта знаний современного web-программиста и список рекомендуемой литературы.

А также список типичных вопросов и тестовых заданий с собеседований Rails разработчика и тестировщика.

Сделано и развивается при поддержке начинающих программистов в телеграм чате @rubyrush 👍

Оригинал здесь: https://github.com/aristofun/webdevdao

Базовые навыки

  • Математика

    • Выбирайте из первых курсов ВУЗа любую понятную вам книгу, или понятный вам курс по темам Алгебра, Линейная алгебра, Дискретная математика.
  • Computer science

    • МакКонелл "Анализ алгоритмов" отличная обучающая книга для понимания основ

      http://www.technosphera.ru/lib/book/8

      https://books.google.com/books?id=mW4S0AHFKrAC&source=gbs_book_other_versions

    • Математические основы информатики от отцов (в печатном виде на русском не достать, но можно нагуглить в эл. виде скан)

      https://ru.wikipedia.org/wiki/Конкретная_математика

    • Адитья Бхаргава "Грокаем алгоритмы" - возможно, лучшая книжка для старта познания алгоритмов (очень простым и понятным языком; можно нагуглить, но лучше печатный вариант)

    • Курсы по алгоритмам:

      https://www.coursera.org/learn/algorithms-part1

      https://www.coursera.org/learn/analysis-of-algorithms

    • Чарльз Петцольд "Код" (беллетристика про устройство компьютера для всех)

      https://www.litres.ru/charlz-petcold/kod-taynyy-yazyk-informatiki/

  • Воображение

    • Косвенно хорошо развивается математикой, программированием, рисованием, изучением языков. Причем практикой всего этого а не чтением книг.

    • Перельман и все его книги серии "Занимательная..." (прежде всего занимательная физика, занимательная математика, занимательная арифметика)

      https://ru.wikipedia.org/wiki/Перельман,_Яков_Исидорович

  • Соображалка

    • Книги Мартина Гарднера полны интересных задач и остроумной математики (Математические головоломки и развлечения, Математические досуги, Математические новеллы и т. д.)

      https://ru.wikipedia.org/wiki/Гарднер,_Мартин

    • Рэймонд Смаллиан менее известен, чем Гарднер, но тоже хорош

      https://ru.wikipedia.org/wiki/Смаллиан,_Рэймонд_Меррилл

    • Книга об остроумных задачах для программистов на собеседованиях

      http://www.litres.ru/uilyam-paundstoun/nayti-umnogo-kak-proverit-logicheskoe-myshlenie-i-tvorcheskie-sposobnosti-kandidata-2/?lfrom=14517722

      https://www.amazon.com/How-Would-Move-Mount-Fuji/dp/0316778494

    • Хорошая книга о математических парадоксах и взгляде на мир

      https://www.livelib.ru/book/1000964673-son-razuma-matematicheskaya-logika-i-ee-paradoksy-haver-fresan

  • Культура программирования

    • Для уже работающих программистов

      http://www.litres.ru/stiv-makkonnell/sovershennyy-kod-prakticheskoe-rukovodstvo-po-razrabotke-programmnogo-obespecheniya/?lfrom=14517722

    • Мартин Фаулер "Рефакторинг" — обязательна к прочтению после полугода работы программистом (ищите в эл. виде или англ. версию)

      https://www.ozon.ru/context/detail/id/1308678/

    • Курсы хорошего программиста

      https://goo.gl/jIKpgW

    • Для программистов от 1 года работы: Кент Бек "Test driven development" (есть перевод)

      https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530

    • Роберт К. Мартин "Чистый код. Создание, анализ и рефакторинг. Библиотека программиста"

      https://www.ozon.ru/context/detail/id/142429922/

  • Проектирование и ООП

    • Грэди Буч "ОО анализ и дизайн", обязательна к прочтению, основополагающая книга

      http://www.helloworld.ru/texts/comp/other/oop/ch01.htm

      Статья по алгоритмам и структурам данных (примеры на JavaScript).

      https://dou.ua/lenta/articles/what-you-should-know-about-algorithms/?utm_source=dlvr.it&utm_medium=linkedin

  • REST архитектура

    • https://www.youtube.com/watch?v=IB1IhWbgOws
  • Git, GitHub

    • Толковые ссылки для начинающих:

      https://git-scm.com/book/ru/v1/Введение

      http://rgblog.ru/page/git-dlja-chajnika-komandy-kotorye-pomogut-nachat-rabotu

      https://habrahabr.ru/post/123111/

    • Интерактивная обучалка

      http://learngitbranching.js.org

Frontend

  • HTML/CSS

    • Книга

      http://www.litres.ru/erik-frimen/izuchaem-html-xhtml-i-css-8511974/?lfrom=14517722

    • Справочник с примерами

      http://htmlbook.ru/html

      https://devdocs.io/

    • Learn CSS Layout

      http://learnlayout.com

  • JS (JavaScript)

    • Хорошая книга для начинающих

      https://karmazzin.gitbooks.io/eloquentjavascript_ru/content/

      http://eloquentjavascript.net

      https://learn.javascript.ru/

    • Хорошая книга для продолжающих

      https://github.com/getify/You-Dont-Know-JS

Backend

  • Ruby, Ruby on Rails

    • Лучший онлайн туториал для самостоятельного изучения

      http://railstutorial.org

    • Коллекция отличных скринкастов (частично устаревшая)

      http://railscasts.com

    • Онлайн-интенсив «Хорошего программиста»

      https://goo.gl/w5BZkM

    • Онлайн-справочник всех языков программирования

      https://devdocs.io/rails~5.2/

      https://devdocs.io/ruby~2.5/

    • Онлайн-курс по Ruby (Eng).

      https://leetcode.com/explore/learn/card/become-a-web-developer/

    • Игорь Симдянов: Самоучитель Ruby - возможно, одна из лучших книжек для начала, поможет построить прочную базу знаний по Ruby

    • Фултон, Арко: Путь Ruby (в печатном виде, но лучше нагуглить) - хорошая книга для начинающих и продолжающих, чтобы заполнить пробелы по Ruby

  • Python/Django

    Среди питонистов нет единства в том, какие ресурсы считать лучшими, поэтому ниже ссылки с наиболее авторитетными мнениями:

    • https://www.quora.com/Which-is-the-best-book-for-learning-python-for-absolute-beginners-on-their-own

    • http://www.codepancake.com/5-python-books-for-beginners/

    • https://stackoverflow.com/questions/4048973/whats-the-best-way-to-start-learning-django

    • https://www.quora.com/What-are-the-resources-to-learn-Django

    • https://devdocs.io/python~3.7/

  • NodeJS

    Хороших курсов и книг практически нет (при выходе, они сразу устаревают), основа работы с нодой — хорошее знание JavaScript (выше ссылки) + практический опыт работы с ним (знание лучших практик и приемов).

    • https://www.quora.com/What-is-the-best-Node-js-course-online

    • https://www.quora.com/What-are-the-best-resources-for-learning-Node-js

    • https://devdocs.io/node/

  • PHP

    Учить пхп мы не советуем вообще, поэтому приведем только одну ссылку, которую вы должны изучать постоянно, если все-таки отважились на этот отчаянный шаг:

    • http://www.phptherightway.com

Базы данных

Приведем ссылки на вики и оф. сайты, где есть хорошие руководства по установке и использованию (их нужно читать внимательно). Все, что глубже вам надо искать самому после того как обрастете опытом программирования.

  • https://ru.wikipedia.org/wiki/Система_управления_базами_данных

  • https://ru.wikipedia.org/wiki/Реляционная_база_данных

  • https://www.postgresql.org

  • https://ru.wikipedia.org/wiki/NoSQL

  • https://redis.io

  • https://www.w3schools.com/sql/default.asp

DevOps (сисадминство и настройка)

Скринкасты о простой настройке linux серверов и деплое приложений, не исчерпывающая информация, но хороший старт:

  • https://www.youtube.com/watch?v=aJLRnDJ2CVg

  • https://www.youtube.com/watch?v=vY9QNwX_IsY

  • https://www.youtube.com/watch?v=tQLpAefAKuA

Изучение Английского языка

  • Поиск перевода на английский в контексте для русских слов, выражений и идиом

    http://context.reverso.net

  • Английский язык по плейлистам

    https://www.youtube.com/channel/UC_3oKG5Szq-m6Xz-MjRZgpw

PS

Эти материалы и ссылки взяты из уроков онлайн-интенсива по web разработке на Ruby on Rails «Хорошего программиста» — goodprogrammer.ru

Список не претендует на универсальность, дополнения и поправки присылайте пулл-реквестами.