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

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

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

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

Vpserver.pro — виртуальные сервера с размещением в 9 странах мира
Виртуальные сервера (VPS/VDS сервера) — хорошее решение для проектов, которым уже недостаточно ресурсов обычного хостинга, а покупать выделенный сервер еще...
Как заказать сайт на конструкторе Tilda под ключ за 10 дней
Сайт на Тильде заказать под ключ за 10 дней Приступая к разработке сайта я, в первую очередь, работаю над контентом....
SSL стандарты TLS 1.0 и 1.1 в 2020 станут небезопасными
На рынке SSL протоколов в 2020 году ожидаются перемены. Стандарты TLS 1.0 и TLS 1.1 уходят в прошлое и отныне...
Рейтинг Рунета — Топ-5 Open-Source и коммерческих CMS в 2019 году
Проект «Рейтинг рунета» опубликовал рейтинг систем управления сайтами (CMS). Системы сгруппированы по категориям (коммерческие, бесплатные, Saas и студийные). Технология расчета...
Основные возможности и преимущества VDS/VPS на Windows
Windows VDS/VPS — это виртуальный выделенный сервер, на котором установлена операционная система Windows Server. Он обладает всеми возможностями полноценной серверной...

Комментарии

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

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

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