Шпргалка для айтишников — темы для изучения на все случаи жизни

in engeneer 620x413 - Шпргалка для айтишников — темы для изучения на все случаи жизни

Мир IT делится на большое число наук и профессий, связанных с ними. Одних только программистов можно насчитать около 5-10 групп, каждая из которых занимается своим направлением и слабо разбирается в направлении других. Например:

  • Веб-разработчики (фронтенд и бэкенд);
  • Разработчики программного обеспечения (C, C#, C++, Basic, и др);
  • Микропроцессинг (Asembler);
  • Промышленное оборудование (АСУ ТП);

А еще есть тестировщики, настройщики, техническая поддержка и даже маркетинг по теме IT. Все они прямо и косвенно связаны своим бизнесом и работают на благо своей компании.

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

Общие темы

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

Во второй — конкретные нишевые данные для айтишников и профессий, близких к ним.

Для каждого

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

Для айтишников

  • Понятие алгоритма и абстракции;
  • Системы счисления и хранение данных — что это такое и зачем это все нужно (двоичная, десятичная, шестнадцатиричная);
  • Принцип работы булевых операторов на уровне железа;
  • Как представляются различные данные в виде двоичного кода (звук, изображение, текст), как осуществляется их кодирование;
  • Как хранятся числа в памяти (целые и с плавающей точкой);
  • Как работает процессор, из чего он состоит, его взаимодействие с остальными частями системы;
  • Понимание принципа исполнения программ на уровне железа;
  • Знать что такое пайплайнинг или конвейер;
  • Представление о том, что такое многопроцессорная архитектура;
  • Что такое машинный язык и зачем он нужен;
  • Логические операции и операции побитовых сдвигов (арифметика);
  • Как реализовано и работают коммуникации с другими устройствами в системе (т.е. коммуникация процессора, памяти, контроллеров и устройств, привязанных к ним(модем, монитор, жесткий диск и тд));
  • Что такое контроллер и зачем он нужен;
  • Коммуникационные рейды — что такое бит, байт, килобайт;

Операционные системы

  • Знать предысторию возникновения, общая архитектура ОС, ее компоненты, их взаимодействие;
  • Что такое shell, что такое файловый менеджер, что такое менеджер устройств, что такое менеджер памяти;
  • Разница между скейджоролом и диспетчером, зачем они нужны;
  • Что такое виртуальная память и пейджинг;
  • Процесс запуска операционной системы;
  • В чем разница между user-mod и kernel-mod;
  • Концепция процесса, понимание разницы между программой и процессом, как реализована многопоточность и что такое прерывание (понимать шаги, выполняемые процессором во время прерывания);
  • Приоритеты в многопоточности — понимание того, как процесс с высоким приоритетом может работать быстрее чем другие;
  • Знать что такое семафоры и дедлоки;

Интернет и сети

  • Понимать что такое сети и зачем они нужны;
  • Что такое протоколы, объединения сети;
  • Понятие интернета, его архитектура, как работает адресация;
  • Знать принцип работы веба;
  • Что такое http, разница между URL и URI;
  • Что такое xml и html;
  • Что такое консорциум w3c, зачем он основан
  • Разница между маршутизатором, свитчом и хабом;
  • Знать что такое mac-адрес и маска подсети;
  • Понятие клиент-серверной архитектуры;
  • Что такое peer-to-peer архитектура, что такое CGA и почему он больше не используется;
  • Что такое домены и его уровни;
  • Что такое хостинг;
  • Протоколы, разница между OSI и TCP/IP;
  • Что такое протокол, где он находится, зачем он нужен;
  • Уровни протоколов;
  • Понятие пакета, понятие порта;
  • Что такое проброс портов, зачем это нужно делать;
  • Сетевая безопасность;
  • Виды атак в сети;
  • Иметь представление между трояном и червем;
  • Принцип DDOS-атак для защиты своего пк от участия в ней;
  • Зачем нужен Firewall, почему всякие бомж-программы просят его отключить;
  • Знать что такое прокси сервер и зачем используют, знать что такое VPN и как он работает;
  • Понимание шифрования, что такое https и ssl;
  • Как используются ключи и тд;
  • Знание системы измерения сложности алгоритмов (асимптотический анализ);
  • Алгоритмы сортировки, поиска, сжатия, нахождения кратчайших путей, работа с разными структурами данных(графами, деревьями и тд), фиббоначе, динамическое программирование;

Языки программирования

  • Предыстория япов, как они появилось;
  • Что такое ассемблер, как он возник;
  • Как появились трансляторы, компиляторы и интерпретаторы, а также понимание разницы между этими программами;
  • Знание парадигм программирования (подмножество, императивный, декларативный, ООП);
  • Что в себе должен содержать завершенный язык по Алану Тьюрингу;
  • Что необходимо знать, перед выбором определенного языка;
  • Знать что такое структуры данных, зачем они нужны;

Понятие переменной

  • Понятие типа данных;
  • Что такое константы и литералы;
  • Что такое операторы и операнды;
  • Что такое control flow или инструкции по контролю поведения кода;
  • Комментарии, понятие процедуры, принцип работы области и областей видимости;
  • Функции, параметры функций, способы передачи параметров в эти функции;
  • Принцип работы компилятора, что такое лексический анализ, синтаксическое дерево, парсеры, генератор кода;
  • Знать что такое токен;
  • Понимать как работает рекурсия, что это такое;
  • Что такое класс и объект;
  • Что такое инстанс;
  • Что такое конструктор;
  • Три принципа ООП (наследование, инкапсуляция и полиморфизм);
  • Знать что такое композиция, когда нужно использовать ее, а не наследование;
  • Принцип многопоточного программирования, разница между процессом и потоком;

Software Engineering

  • Представление о том, как писать софт (любой софт, а не только калькулятор на JS);
  • Имплементации алгоритмом и структур данных;
  • Умение понимать плохой код и хороший (Изучение шаблонов проектирования алгоритмов структур данных, ос, железа);
  • Что такое прототипизация, модульность, зачем это нужно;
  • Иметь представление о тестировании, понимать зачем нужны тесты;
  • Продумывать дизайн и архитектуру перед разработкой чего-либо;
  • Ставить требования перед написанием софта, а не придумывать их на ходу;
  • Знание что такое UML-диаграммы, как их использовать;
  • Зачем вообще придуманы парадигмы программирования;

Абстракция данных

  • Понимать как и какие типы данных лучше хранить;
  • Преимущества одной структуры данных над другой;
  • Знать как работает память;
  • Концепция указателя, ссылки и значения;
  • Что такое арифметика поинт рф;
  • Что такое прямой и обратный код;
  • Расположение битов в памяти пк и их направления;

Быть универсалом и разбираться во всем этом крайне сложно да и нет в этом никакой необходимости.

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

Источник: https://telegra.ph/CHto-prochitat-chtoby-razvivat-svoi-navyki-06-14

Читайте также

Похожие записи

VPN — ключевые факторы подбора идеального сервиса защиты своих данных
VPN (виртуальная частная сеть, от англ. Virtual Private Network) — крутая и очень нужная технология для сокрытия своих реальных данных...
Что такое панель управления сервером у как ее выбрать
У виртуального хостинга, виртуальных серверов VDS и выделенных серверов — дедиков существуют свои разновидности систем контроля именуемые панелью управления. Что...
Важность адекватности технической поддержки хостинг провайдера
Любая услуга которой мы пользуемся может потребовать консультации со службой поддержки. Рано или поздно это произойдет. Для удешевления бизнеса компании...
Дешевый виртуальный сервер — когда начинаются неприятности?
Любой тип товара и услуги можно купить дорого и дешево. Иногда качество более дешевых продуктов достойное, но все же в...
Dedicated Server — особенности и краткая характеристика
Dedicated Server (на сленге «дедик» — тип хостинга, при котором клиент получает в свое распоряжение отдельную физическую машину (системный блок,...

Комментарии

Бесполезно писать спамные сообщения. Все комментарии проверяются;
Можно оставлять ссылки (через <a href), если они несут полезную информацию или дополняют статью;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *