@MorugaShestak

Какие книги можете посоветовать о алгоритмической и низкоуровневой разработки для уровня мидла?

Я пока студент, перешёл на второй курс. До ВУЗа уже 6 лет занимался программированием.

В основном участвовал прям в IT-олимпиадах и хакатонах. вроде НТО, WorldSkills, SberZ, CTF и им подобные, но, всегда хотелось научиться алгоритмической разработке и низкоуровневой разработке, C++, C и ещё лучше - ассембли, ARM и им подобные.

В алгоритмах знаком на уровне квиксорта, инвертации дерева и такой твёрдой базы.
С низкоуровневой не знаком вовсе, но понимаю устройство работы процессоров, памяти, и в целом знаком с информатикой на отлично с 5 класса по 1 курс ВУЗа.

Какие можете посоветовать книги лично от себя, отдельно для изучения алгоритмов и отдельно для низкоуровневой разработки?

Я знаю PhP, Java, C#, C++, Python, GoLang, JS, TS, поэтому книга может быть почти на любом языке.
  • Вопрос задан
  • 719 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Алгоритмы это классно, книга Кормена закроет большую часть вопросов по ним.
По ассемблеру (в т.ч. и для АРМ) есть несколько толстых красивых книг у издательства ДМК пресс, можешь поискать у них на сайте. Не читал. Думаю, что не стоит пока туда лезть, разве что очень-очень руки чешутся.

Из того, что реально необходимо в большинстве проектов:
1. параллельное программирование: Энтони Уильмс C++. Практика многопоточного программирования
2. сетевое программирование: Уильям Стивенс UNIX: Разработка сетевых приложений
3. Разработка под линукс: Керриск Майкл Linux API. Исчерпывающее руководство
4. базы данных. Тут очень много книг и много вариантов так что советовать ничего не буду, но стоит освоить работу хотя бы с одной реляционной базой данных и знать SQL. Рекомендую смотреть в сторону Postgres.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Я пока студент, перешёл на второй курс.

Тебя в любом случае градуируют как junior/trainee на первой работе.
И дело даже не в том сколько олимпиад ты прошел и сколько ты книжек прочитал.
Просто звездочки в погонах надо заслужить. Если ты талантлив - то наверное
за год перепрыгнешь уровнеь junior но я советую вообще с этим не спешить.

Нет ничего хуже самозванца. Согласен?
Ответ написан
Комментировать
Без опыта тебе мало кто даст задачи, которые требуют жёстко шарить за алгоритмы.
А с опытом ты и сам это всё изучишь, если тебе это будет интересно.

А если прям очень интересно - начни с "Алгоритмы: построение и анализ".
Хочешь низкий уровень - попробуй изучить Rust.
Хочешь совсем низкий уровень - читай мануалы к нужной процессорной архитектуре.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы