Что должен знать джун в 2024. Памятка к техсобесу
Спросили опытных айтишников, которые собеседуют молодёжь.
Сёння хачу чытаць па-беларуску
Условия в ИТ всё меньше напоминают оазис, особенно на входе. Мест для джунов в этом суровом ландшафте так мало, что работу получают только лучшие. Спросили айтишников, которые проводят собесы (и подсмотрели у компаний), каких знаний и умений они ждут от кандидатов:
Специальность: тестировщик
Кто говорит: QA Lead в Catalogic Software
— Наш продукт диктует специфические требования, но, кажется, эти знания для джуна не будут лишними.
Универсальные:
Теория тестирования. Джун должен знать, когда используются тест-кейсы, а когда лучше использовать чек-листы. Как работать с требованиями. Как составить баг-репорт.
Docker. Понимать, в чём разница между контейнером и образом. Как запустить/остановить контейнер.
REST API. Знать коды ответов (1хх, 2хх,3хх,4хх,5хх) и что они означают; привести несколько примеров кодов ответов (404, 403, 401, 200, 500, 301).
Знать как минимум четыре популярных API-метода: GET, POST, PUT, DELETE.
Уметь в Postman или Swagger.
Специфические (для нашей компании):
Linux. Джун должен знать как пользоваться этой операционной системой, переходит между директориями, включать выключать сервисы, как работают права на операционной системе.
Гипервизор. Базовые вещи: как создать и поставить виртуальную машину, как настроить виртуальную машину, как поставить операционную систему. Файловые системы: какие бывают, преимущества разных файловых систем.
Специальность: Data Engineer
Кто говорит: Data Engineer, опыт 4 года, проводит техсобесы
— В целом требования для Junior Data Engineer касаются прежде всего технологий, которые кандидат должен знать на базовом уровне.
Обязательно спрашиваем:
— Типы данных;
— Структуры данных;
— Физическое хранение данных в БД;
— Различия БД (колоночные, строчные, NoSQL и особенности работы движка каждой из них);
— Алгоритмы, но не на суперглубоком уровне. Спрашиваем про компрессионные алгоритмы, где какие используются.
— Форматы файлов для хранения больших данных (Parquet, Avro и т. д.);
— OLAP vs OLTP;
— Data Lake, DWH, Data Vault 2.0, Data Mesh;
— Apache Airflow;
— Spark (особенности работы с Java и Python API, если кандидат знает Scala — то и с ним тоже);
— Databricks и для чего он нужен;
— Azure, GCP или AWS стак, но его отсутствие некритично.
— Python. Знания о работе GIL, параллелизме и конкурентности, парадигмам ООП.
Всё на базовом уровне.
Специальность: разработчик на Android
Кто советует: компания Kolesa Group (для Junior 1)
Computer Science
Data Structures
— Знать Collections и Map;
— Знать распространенные реализации;
— Понимать в каких случаях нужны коллекции.
Programming Principles
— DRY;
— KISS.
OOP
— Знать основную идею ООП;
— Уметь перечислять все принципы с кратким описанием.
Architecture
— Делегирование;
— MVC.
Network
— Уметь работать с сетью любым способом.
Android Platform
Android SDK
— Знать структуру проекта;
— Знать, как открывать экраны и взаимодействовать с пользовательским интерфейсом;
— Знать Manifest и компоненты, которые там перечисляются;
— Знать, как пользоваться ресурсами и стилями.
Android Component
— Знать Activity и Fragment;
— Знать lifecycle и особенности использования.
UI
— Уметь верстать простой дизайн в xml;
— Знать ресурсы.
Threading
— Знать про существование многопоточного кода;
— Thread vs Process.
Test
— Уметь писать простые unit-тесты.
Tools
— Уметь пользоваться логами.
Memory Management
Memory structure
— Знать отличия между типами памяти (оперативная и постоянная).
GC
— Знать, что в Java не надо руками собирать мусор, и всё на этом :)
Language
Java & Kotlin
— Знать синтаксис;
— Соблюдать code style.
Специальность: разработчик на iOS
Кто советует: Kolesa Group (Junior 1)
Computer Science
Data
- Знать Collections и Map;
- Знать распространенные реализации;
- Понимать, в каких случаях нужны коллекции.
OOP
- Знать основную идею ООП;
- Уметь перечислять все принципы с кратким описанием.
Programming
- DRY;
- KISS.
Architecture
- Делегирование
- MVC
Network
- Уметь работать с сетью любым способом
iOS Platform
iOS SDK + 3rd
- App lifecycle;
- UIViewController lifecycle;
UI
- Уметь верстать простой дизайн в xib;
- Autolayout.
Threading
- Знать про существование многопоточного кода;
- Thread vs Process.
Tests
- Уметь писать простые unit-тесты.
Tools
- Уметь пользоваться логами.
Xcode
- Знать структуру проекта;
- Знать как открывать экраны и взаимодействовать с пользовательским интерфейсом;
- Breakpoints
- LLDB.
Memory Management
Memory
- Знать отличия между типами памяти (оперативная и постоянная).
ARC
- Знать, что в Swift не надо руками собирать мусор, и всё на этом :)
Language
Swift
- Знать синтаксис, типы;
- Соблюдать code style.
Читать на dev.by