ТЕ САМЫЕ 20% ТЕОРИИ В ПРОГРАММИРОВАНИИ — Transcript

Видео объясняет важность 20% теории в программировании — алгоритмов и структур данных, их роль в эффективном решении задач и карьерном росте.

Key Takeaways

  • Алгоритмы и структуры данных — фундаментальные знания для эффективного программирования.
  • Понимание теории помогает писать быстрый, правильный и красивый код.
  • Практика и чтение классических книг необходимы для роста программиста.
  • Работодатели ценят специалистов с глубокими знаниями и опытом решения задач.
  • Стажировки и классические курсы помогают преодолеть замкнутый круг опыта.

Summary

  • Обсуждается ключевая роль алгоритмов и структур данных как базовой дисциплины Computer Science.
  • Подчеркивается, что знание алгоритмов помогает решать задачи эффективно, а не просто писать код.
  • Приводятся примеры простых задач, например, проверка чётности элемента массива.
  • Развенчиваются мифы о ненужности алгоритмов в современном программировании и найме в крупных IT-компаниях.
  • Упоминаются известные специалисты и их вклад, например, Абрамов и Бен Уводо.
  • Отмечается важность практики и чтения классических книг для глубокого понимания темы.
  • Обсуждается замкнутый круг требований работодателей и важность стажировок.
  • Подчеркивается, что алгоритмы и структуры данных — это не вакуумные знания, а фундамент для качественного программирования.
  • Приводится пример визуализации деревьев и графов как базовых структур данных.
  • Рассматривается влияние знаний алгоритмов на карьеру и возможность работать в крупных проектах.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Итак, программисты, сейчас мы поговорим про те самые 20% в теории, о которых вам, ну как минимум, нужно просто знать. Как вы думаете, какая дисциплина отсюда? Давайте возьмём самый стандартный курс, как Versize, даёт вам максимально много как собственно самой теории, так и практике.
00:11
Speaker A
так и всего остального математика был бы Хороший ответ но она такой косвенно связана с программированием но попытка хорошая на самом деле это алгоритмы структура данных конечно же если вы сейчас думаете такие типа чувак 2023 год алгоритмы структуры Ты что серьёзно на
00:24
Speaker A
Так и всего остального. Математика был бы хороший ответ, но она такой косвенно связана с программированием, но попытка хорошая. На самом деле это алгоритмы, структуры данных, конечно же. Если вы сейчас думаете такие типа: чувак, 2023 год, алгоритмы, структуры, ты что, серьёзно?
00:38
Speaker A
он работает Давайте я вам вот такие ещё кружочки только добавлю в них должны стоять Циферки что выполняет первым вторым третьим и так далее а три четыре пять Короче если вы хотя бы пару секунд сомневались в ответе замешкались или что-то ещё просто
00:51
Speaker A
На самом деле да, почему? Всё супер. Просто начнём вот так. Сколько из вас человек хоть раз, если код не работает, пробовал просто запустить его ещё раз? Или так вот цикл for? Даю вам ровно несколько секунд, чтобы вы хотя бы сами себе ответили, как он работает.
01:02
Speaker A
программируете вообще вы Решаете проблемы и не Изучая алгоритмы со структурами Но именно этой инициативы делят понятие решение проблем на два лагеря эффективная и неэффективное самый простой утрированный пример это скажем проверка элемента в массиве на чётность это можно сделать вот так что скажете но
01:19
Speaker A
Давайте я вам вот такие ещё кружочки только добавлю, в них должны стоять цифры, что выполняет первым, вторым, третьим и так далее, а три, четыре, пять. Короче, если вы хотя бы пару секунд сомневались в ответе, замешкались или что-то ещё, просто оставайтесь со мной.
01:31
Speaker A
может А вот делать это правильно красиво быстро эффективно это навык который помимо очевидных вещей что становится хорошим программистом которого все хотят до этого возможно заниматься чем-то интересном мире программирования работать рядом с какой-то типами как говорят этот мир лучше но в интернетах есть и
01:45
Speaker A
Ну изначально давайте я вам выдам супер базу. Алгоритмы, структуры данных — это дисциплина курса Computer Science, который формирует вашу, чтобы он был инженерной формы, и учит решать ваши проблемы. Решение проблем — это тоже то, за что вам платят деньги.
01:59
Speaker A
Абрамов это очень классный человек работал над реактором редаксом пахал Фейсбуке и тому подобное На По его словам сможет написать только по звуковой сортировку правда потом еще добавил что может написать деревья но она недавнем интервью Бен увода он без
02:11
Speaker A
Когда вы программируете вообще, вы решаете проблемы и не изучая алгоритмы со структурами. Но именно этой инициативы делят понятие решения проблем на два лагеря: эффективное и неэффективное. Самый простой утрированный пример — это, скажем, проверка элемента в массиве на чётность. Это можно сделать вот так. Что скажете?
02:22
Speaker A
структурами это вакуумные знания это посмотреть еще вот этот ролик даже без особого знания английского просто Глядя на то что автор пишет в текстовом файле кратко это гении которое первым взломал iPhone и сделал так чтобы машина ездили без водителей тут он на пальцах
02:34
Speaker A
Но либо вот так. Пример само собой гиперболизированно. Важно то, что мы сейчас просто понимали друг друга и о чём идёт речь. На этом фоне делаем первый вывод: программировать может почти любой, ну и соответственно решать хоть какие-то проблемы хоть как-то этот любой тоже может.
02:46
Speaker A
важное поэтому погналить алгоритмов структур данных огромное количество и ваша задача в этой игре разобраться хотя бы классикой Но более важно здесь то что вы не просто прыгаете на самолет код и начинаете пытаться решить всё подряд нет начните хороший книжки с предисловие и
03:00
Speaker A
А вот делать это правильно, красиво, быстро, эффективно — это навык, который помимо очевидных вещей, что становится хорошим программистом, которого все хотят, даёт возможность заниматься чем-то интересным в мире программирования, работать рядом с какими-то топами, как говорят, этот мир лучше.
03:13
Speaker A
Это ребята до которых большинство из нас не дотянется по уровню возможно никогда я занимался очень сложными штуками в NVIDIA и oculus Rift и Однажды потеряли он упомянул человека по имени Николас вирс Я порекомендовал читать его книжки книгу с фирсо в свою очередь это человек
03:25
Speaker A
Но в интернетах есть и другое мнение: алгоритмы, структуры данных — это дичь, это вам не нужно. Процесс найма в ФАНГи и МАНГи — это какой-то цирк, показуха. Просто программируете учителем, гуляры или реакции на Абрамова. Он максимум пузырьковый сортировку напишет.
03:38
Speaker A
это нужно печатать на деньгах ребят наиболее чётко вы простого определения Что такое программа и чем мы все занимаемся Мы скорее всего Нигде больше не найдём просто вдумайтесь эту фразу Попробуйте проникнуть со смыслом все ваши и чужие программы - это какие-то
03:49
Speaker A
По его словам, в Фейсбуке, если что-то там... Абрамов — это очень классный человек, работал над React и Redux, пахал в Фейсбуке и тому подобное. По его словам, сможет написать только пузырьковую сортировку, правда потом ещё добавил, что может написать деревья.
04:03
Speaker A
за 50 лет фундаментально ничего не изменилось у нее шикарный рейтинг И несмотря на то что есть только Летом все те же самые алгоритмы как у популярных карманы изрядщика а в конце он еще покажет Как написать компилятор для просецкого языка за 200-300 строчек кода
04:14
Speaker A
Но в недавнем интервью Бен Уводо он без проблем решался с задачами по деревьям и по всем остальным. Короче говоря, то, что Дэн якобы не знает базу баз и попал в Facebook — это всё неправда.
04:26
Speaker A
себя Это то же самое чисто самое база фундамента снова на основе которой работает все остальное программирование но просто читать книги даже хорошие книги ничего не даст даже если во время чтения думать что вы все понимаете и Растете А вы стоите на месте Поверьте
04:39
Speaker A
Короче, если у вас есть хоть микромысли, что вот это всё имеет какой-то вселенский смысл, алгоритмы, структуры данных — это не вакуумные знания. Посмотрите ещё вот этот ролик, даже без особого знания английского, просто глядя на то, что автор пишет в текстовом файле.
04:52
Speaker A
алгоритмы структуры данных заезженная тема по сути знания которые вы получаете разбирая всё это кажется какими-то вакуумными но само собой это не так если ощущение большую часть того что есть тут я чем буду говорить дальше то на правильном пути как минимум Вот почему
05:04
Speaker A
Кратко — это гений, который первым взломал iPhone и сделал так, чтобы машины ездили без водителей. Тут он на пальцах объясняет базу программирования, говорит, кто есть кто. Это первый единственный урок Ходса для начинающих, просто золото для некоторых из вас.
05:16
Speaker A
работодателях сидят тоже не лыком шиты и требования по вакансиям растут линейные относительно того самого штамповочного пайплайна все себя хотят нормальных спецов проще говоря нормально спецом можно стать работой где-то на работу хотят людей с опытом это вечный такой Замкнутый круг который по сути прерывает
05:28
Speaker A
Итак, всё-таки надеюсь, что сейчас мы с вами чуть более синхронизировались и приняли тот факт, что алгоритмы и данные — это что-то такое важное. Поэтому погнали.
05:40
Speaker A
даже если ты сейчас не понимаешь о чём идёт речь то ты через полгода можешь знать уже всю вот эту базу и тебя заберут прокачивать на яндексские проекты То есть ты буквально будешь работать над Алисой какой-нибудь яндекс.гол или переводчик в моё время
05:51
Speaker A
Алгоритмов, структур данных огромное количество, и ваша задача в этой игре — разобраться хотя бы с классикой. Но более важно здесь то, что вы не просто прыгаете на самолёт код и начинаете пытаться решить всё подряд. Нет, начните с хорошей книжки с предисловием и нажмите вкратце, что это такое, зачем это вам.
06:00
Speaker A
стажировку Также можно пройти не только в Москве СПб но и в Сочи Екб Новосибирский Нижний Новгороде и Казани направление форматов тоже куча касаемо разработки это бкнд фронтенд мобилки но есть также аналитика тестирования на лист данных и Б всё это можно совмещать
06:14
Speaker A
Давайте попробую описать эту сцену как акт в маленьком театре айтишников. Мне очень нравится программист по имени Пер Фредрик Ганссон, легендарный мужик с тусовки программистов, против объединены Кейси Моратория. Если не знаете, кто это.
06:26
Speaker A
открывая страничку сейчас для Интернов у них и всё что вам нужно знать это самое база которая Я говорю остальные подхватить Когда в команду попадёте Яндекс процентов 50 оставляет в штате после стажа И даже если у вас не будет
06:36
Speaker A
Это ребята, до которых большинство из нас не дотянется по уровню, возможно, никогда. Я занимался очень сложными штуками в NVIDIA и Oculus Rift, и однажды Пер Фредрик упомянул человека по имени Николас Вирс.
06:49
Speaker A
говорим именно о структурах данных вы начинаете максимально просто с массивов которые есть в любом языке программирования фундаментальнейшая структура данных которые отлично решает 50% проблем На том же самом лидкоде есть бесплатный материал по ним где есть теория тактика затем к массива
07:01
Speaker A
Я порекомендовал читать его книжки. Книги с Вирсом — в свою очередь это человек, который придумал Pascal, получил награду Тьюринга и писал книжки про компиляторы и другие сложные штуки из мира Computer Science.
07:13
Speaker A
прямо супер база которая должна отлетать у вас от зубов буквально и Видите вот тут в углу видоса висит начальное упоминание цикла for я не просто так его упомянул Когда вы сидите и пытаетесь написать свой массив лист слова любой
07:24
Speaker A
Но к чему это всё? У них, класса Vis, есть книга, которая так называется: "Алгоритмы плюс структуры данных равно программа". О великие силы!
07:38
Speaker A
зубов даже если вас разбудить в 3:00 ночи и спросить скажем что делает этот кусок кода Это если что искренняя Долина когда над Ричардом смеялись что он брут форсил отсортированный лист понимаете шутку или нет Окей когда вы уже знаете как
07:53
Speaker A
Это нужно печатать на деньгах, ребят. Наиболее чётко вы простого определения, что такое программа и чем мы все занимаемся, мы скорее всего нигде больше не найдём. Просто вдумайтесь в эту фразу.
08:05
Speaker A
заезженные вещи что я не знаю растет динамически время ранта ему что вставка в конец амортизированной контактная что Вектор изначально создается больше в размера чем в логически выделяете и всё остальное это базовые знания которые сам собой важны написать полноценный Вектор
08:18
Speaker A
Попробуйте проникнуть со смыслом: все ваши и чужие программы — это какие-то данные, структуры из этих данных, над которыми оперируют алгоритмы, которые вы пишете. И разбор как минимум классических алгоритмов и данных даёт вам то же самое понимание, как писать ваши программы, чтобы они работали быстро, правильно со всех точек зрения.
08:32
Speaker A
невидимый ансамбль который прокачивает ваше понимание языков программирования структура данных алгоритмов решения проблем чтобы филозе вытекает слово опыт это все к тому что разбирая даже эту мини базу Вы можете стать очень хорошим программи но само собой помимо этой Троицы У нас есть еще такие штуки как
08:47
Speaker A
Книги Николаса Вирса — 50 лет. За 50 лет фундаментально ничего не изменилось. У неё шикарный рейтинг. И несмотря на то, что есть только Летом, все те же самые алгоритмы, как у популярных карманных изрядщиков.
09:01
Speaker A
можете найти их также стандарт библиотеке но касаемо именно деревьев деревья это супер теоретический компьютер Science а Конкретно теория графов то есть кучи префиксные деревья само понятие графа и просто десятки различных видов этих самых деревьев это прямо вот жесткая теория CS которая
09:15
Speaker A
А в конце он ещё покажет, как написать компилятор для простецкого языка за 200-300 строчек кода. Одним словом, это ещё один алмаз, который мне приятно с вами поделиться.
09:28
Speaker A
графов деревьев больше всего там чуть ли не все это какое-то дерево самое простое дерево это визуально Вот такая структура которая может быть написана как раз с помощью обычного статического массива хэштей была ли словарь скажем реализован с помощью красного черного дерева твоя
09:42
Speaker A
А теперь погнали глубже. Я сказал, что Vis и книги — то же самое, что церковных ребят вроде Корма, то есть двух самых популярных книг по изучению сабля. Что включает в себя?
09:57
Speaker A
плюс разбирать хотя бы основные виды деревьев и операции над ними но все это база именно структур данных но у нас есть еще и алгоритм алгоритм это более такая абстрактная концепция алгоритма может быть все что угодно вывод Hello world в консоль 10 раз цикле это
10:11
Speaker A
Это то же самое, чисто самая база, фундамент, снова на основе которой работает всё остальное программирование. Но просто читать книги, даже хорошие книги, ничего не даст, даже если во время чтения думать, что вы всё понимаете и растёте.
10:26
Speaker A
разбить всё на отдельные алгоритмы соответственно алгоритмов также есть Супер классика которую вы просто-напросто должны понимать Ну а если вы что-то понимаете Вы можете это написать и уже после того когда вы всё это написали переписали разобрали и поняли вы начинаете писать ваши
10:40
Speaker A
А вы стоите на месте. Поверьте мне, через это прошёл лично. Книги — это соус, которым вы поливаете основное блюдо. Основное блюдо — это программирование этих алгоритмов и структурных данных в данном случае.
10:56
Speaker A
супер абстракция и все по сути своей является алгоритмом Поэтому вот это все это База база которая покажет как решать разноплановые проблемы правильно быстро и эффективно Но когда я говорю правильно быстро и эффективно это же каким-то образом можно измерить наверное
11:09
Speaker A
Да, давайте так. Вот весь самый дефолтный перечень, который вам нужно знать, и тут нет ничего нового. Это всё алгоритмы, структуры данных, заезженная тема по сути.
11:21
Speaker A
задержек пропускных способностей и так далее но когда мы говорим про скорость выполнения алгоритма с точки зрения времени мы имеем в виду именно Clock cycle то есть сколько циклов процессора уходит на выполнение самого алгоритма память всё просто сколько программы
11:33
Speaker A
Знания, которые вы получаете, разбирая всё это, кажутся какими-то вакуумными, но само собой это не так. Если ощущение большую часть того, что есть тут, я чем буду говорить дальше, то на правильном пути как минимум.
11:44
Speaker A
алгоритмы Как растет его сложность выполнения либо по времени по памяти либо это и то все эти функции обозначающие скорость выполнения будет видеть рядом с любым классическим и разобранным алгоритмом если кто данных самый тривиальный классический пример использования Big Go это вот у вас есть
11:59
Speaker A
Вот почему все и так уже знают про конвейер, проверочное слово образовательный центр, на котором ежемесячно штампуют сотни людей, и в большей части из них никакого Computer Science нет в принципе, только коммерческий сет навыков под конкретные задачи.
12:13
Speaker A
этих алгоритмов с помощью бегом можно оценивать сложность выполнения любой программы и вы Точно будете это делать Даже На том же самом лид-коде Когда вы решаете задачи вам там указывает Сколько места программа должна занимать или Сколько места она занимается какой
12:24
Speaker A
А это очень слабоскеется. Но работодатели сидят тоже не лыком шиты, и требования по вакансиям растут линейно относительно того самого штамповочного пайплайна.
12:35
Speaker A
быть обязательно атрибутом в вашем ежедневном обучении касаемо самого линко это вообще там у вас есть тысячи задач разной сложности уже после того когда вы понимаете всю вот эту базу и классику Вы уже идете сюда и решаете задачи Где
12:49
Speaker A
Все себя хотят нормальных спецов. Проще говоря, нормальным спецом можно стать работой где-то. На работу хотят людей с опытом — это вечный такой замкнутый круг, который по сути прерывает, наверное, именно стажировки.
13:01
Speaker A
базовый алгоритмы которые вы просто должны знать и разобрать вот несколько структур данных которые есть в любом языке который вы просто должны знать и разобрать и которые сами по себе состоят из кучи алгоритмов Далее в процессе смазываете все это теория графов и
13:13
Speaker A
Скажем, если у тебя написано, что ты в Яндексе 6 месяцев пилил бэкенд на C++ уровнем про, ты ещё писал ко всему тесты, само собой, тебя хочет 10 человек из десяти.
Topics:программированиеалгоритмыструктуры данныхэффективное программированиеComputer Scienceкарьера в ITстажировкарешение задачтеория программированияобучение программированию

Frequently Asked Questions

Почему важно изучать алгоритмы и структуры данных?

Изучение алгоритмов и структур данных позволяет решать задачи эффективно, писать быстрый и правильный код, что ценится работодателями и помогает в карьерном росте.

Можно ли стать хорошим программистом без глубоких знаний алгоритмов?

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

Как начать изучать алгоритмы и структуры данных?

Рекомендуется начать с классических книг и курсов, сочетая теорию с практикой, чтобы постепенно освоить фундаментальные понятия и навыки.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →