Што мусіць знаць джун у 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
Хто дае парады: кампанія Кolesa 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