Перш ніж почати своє кар’єрне зростання у сфері IT за напрямом Python, потрібно пройти доволі складний для початківця етап — працевлаштування.
Практичного досвіду роботи в компанії ще немає, тому головна увага приділяється теоретичним знанням. Але після навчання в голові міститься настільки багато нової інформації, що важко самостійно зрозуміти — яка саме знадобиться під час інтерв’ю.
Крім того, рекрутери цікавляться не тільки теоретичними та практичними знаннями, а й особистими якостями кандидатів, їх вмінням швидко відповідати на складні запитання та “не губитися”.
Щоб ви почувалися впевнено та комфортно під час працевлаштування, а найголовніше — отримали бажану вакансію, фахівці A-Level підготували для вас перелік найпоширеніших запитань для співбесід на позицію Junior Python Developer. Тож давайте попрактикуємось та перевіримо себе!
Уявіть, що ви вже на інтерв’ю — спробуйте відповісти на всі запитання!
Змiст
Базові знання:
Більш просунута база:
Базові знання “із зірочкою”
Об’єктно орієнтоване програмування:
Проектування:
Додаткове запитання, яке часто можна почути під час співбесіди:
1) Що таке метаклас? І до чого тут type?
SQL:
1) Що таке SQL?
2) Чому такі бази називають реляційними?
3) Які бувають види зв’язків?
4) Що таке нормалізація? Опишіть перші 3 нормальні форми. Скільки їх буває?
5) Що таке рекурсивний запит?
6) Які бувають види joins?
7) Що таке транзакція?
8) Що таке ACID?
9) Які бувають рівні ізоляції транзакції?
NoSQL:
1) Що таке NoSQL?
2) Коли краще застосовувати SQL, а коли NoSQL?
3) Які бувають види NoSQL? Наведіть хоча б один приклад кожного виду.
4) Чи застосується ACID до NoSQL?
5) Назвіть сфери застосування Redis.
GIT:
1) Що таке гілка?
2) Що таке коміт?
3) Що таке pull request?
4) Навіщо потрібні команди pull та push
5) Як працює cherry-pick?
Front-end:
1) Навіщо потрібні HTML/CSS/JS?
2) Що таке замикання?
3) Яка типізація у JS?
4) Яка типізація у TS?
5) Які фреймворки для Front-end ви знаєте?
Django:
1) Що таке фреймворк?
2) Що таке MVC та MVT?
3) Які бувають види моделей?
4) Навіщо потрібні параметри null та blank?
5) Що таке ORM?
6) Як продати soft delete?
7) Що таке менеджер моделі?
8) Навіщо потрібний related_name?
9) Чи можемо ми контролювати проміжну таблицю для M2M зв’язку? Якщо так, то як?
10) Навіщо потрібний bulk_create?
11) Що таке міграція?
12) Що таке data міграція?
13) Що корисного може зберігатися у request?
14) Що таке CBV?
15) Чим відрізняється instance і queryset?
16) Чи може спроба отримати дані з бази через ORM викликати винятки? Якщо так, то які?
17) Що таке валідація?
18) Як ми можемо отримати дані клієнта?
19) Що таке форма?
20) Що таке сесія? Як нею скористатися?
21) Що таке кеш? Як ним користуватися?
22) Що таке Middleware? Навіщо це треба та як ми можемо цим скористатися?
23) Що таке manage command? Чи можемо ми створити свою?
24) Що таке template tag?
25) Що таке DjangoTemplates? Чи можемо ми використати щось інше для цієї ж мети?
1) Що таке cookie?
2) Що таке HTTP? Чим він відрізняється від HTTPS?
3) Що таке авторизація? З яких етапів вона складається?
4) Як працює авторизація у базовому Django?
5) Які бувають HTTP методи?
6) Що таке ідемпотентність?
7) Які бувають коди стану HTTP? Навіщо вони потрібні?
8) Які ще протоколи бувають, окрім HTTP?
9) У чому відмінність монолітної архітектури від мікросервісної?
10) Що таке API?
11) Що таке CI/CD?
12) Хто такий DevOps?
REST/ Django REST Framework:
1) Що таке REST? Навіщо він потрібний?
2) Що таке JSON та XML?
3) Що таке серіалізація?
4) Як у DRF працюють права доступу?
5) Що таке базова авторизація та авторизація за токеном?
Celery:
1) Що таке celery?
2) Чи є celery синхронною чи асинхронною технологією?
3) З яких частин складається celery?
4) Що може бути брокером для celery?
5) Для чого використовується celery?
6) Що таке механізм підпису?
Web sockets:
1) Що таке web sockets? Навіщо вони потрібні? Наведіть приклад, де їх використовують.
2) Який протокол використовують sockets?
3) Чи існує бібліотека для використання sockets з Django?
Deployment:
1) Що таке Linux?
2) Що потрібно для розгортання програми Django?
3) Хто такі gunicorn, daphne, uvicorn, hypercorn?
4) Що таке nginx та apache?
1) Які види тестування ви знаєте?
2) Чим відрізняються unit tests від integration tests?
3) Навіщо для тестування потрібні фабрики?
4) Хто такий Faker?
5) Що таке Mock?
У більшості випадків це завдання з кодом, тому їх важко описати словами. Але ми наведемо кілька прикладів, щоб ви мали змогу потренуватися.
Завдання 1
На вхід йде словник, у якого всі ключі та значення — це унікальні хешовані типи даних. Напишіть код, який поміняє місцями ключі та значення.
Завдання 2
a = 200
b = 200
print(a is b)
a = 300
b = 300
print(a is b)
Що виведе цей код?
Завдання 3
Вам надається csv файл. Напишіть код, який зможе зчитати файл і записати вміст у зручний для вас тип даних.
Завдання 3.1
Проведіть валідацію рядків. Якщо є не валідні — видайте відповідне повідомлення і пропустіть цей рядок. Використовуйте самописний виняток.
Завдання 4
Напишіть свій декоратор.
Завдання 4.1
Напишіть свій декоратор із параметрами
Завдання 5
Замовник хоче, щоб на його сайті клієнти були зобов’язані додавати в профіль кредитну картку. А якщо у користувача не прив’язана карта, щоб будь-яка його дія переводила його на сторінку додавання картки. Як ви діятимете?
Чудова робота! Навіть, якщо на якісь запитання відповісти не вдалося — тепер ви бачите прогалини у своїх знаннях та ще маєте час їх закрити!
А для студентів A-Level за напрямом Python наша школа пропонує: додаткові безкоштовні заняття з проходження співбесід та написання резюме, допомогу рекрутингового відділу у пошуку вакансій та підтримку під час адаптації на новому місці роботи!
Бажаємо всіх успішного інтерв’ю та подальшого професійного розвитку!
Читати 11 хвилин
Змiст
Подiлитися з друзями:
Кирило Смаковенко Python Developer, випускник IT-школи A-Level Всім привіт! Мене звати Кирило, і сьогодні я хочу трохи поділитися мотивацією та власним досвідом з тими, хто прагне вивчити мову програмування Python з нуля та почати кар’єру в IT. Зараз я працюю в компанії ДДІ — розробляю сайт, що обслуговує заправки. Важко сказати, що тут
Вiдгук повнiстю“Ніколи не пізно кардинально змінити кар’єрний шлях. Я це зробив у віці майже 30 років! Мені здавалося, що поїзд вже скоро піде і влитися в новий напрям у такому віці буде досить складно. Але за правильного підходу можливо все! Головне – не здаватися, вірити в себе, продовжувати йти до своєї мети, навіть якщо щось не
Вiдгук повнiстю“Не бійтеся пробувати. Якщо вас не драйвить, то чим ви займаєтесь – треба щось міняти! Пам’ятайте, що, обираючи напрям, ви приймаєте, можливо, найважливіше рішення у своєму житті, але таких рішень буде багато на вашому шляху, тому keep growing завжди!” Зараз я працюю у компанії SoftServe рекрутером. Моя посада охоплює повний спектр напрямів сфери Recruiting.
Вiдгук повнiстю“Програмування потрібно не заучувати, а практикувати. І важливо приділяти цьому якнайбільше часу. На курсах нам казали, що відвідувати заняття недостатньо, треба ще й займатися вдома. Я скажу вам більше: кодити треба скрізь – на роботі, на вулиці, у дорозі чи вдома. І тоді ви зможете досягти великих успіхів!” Довгий час я працював на виробництві.
Вiдгук повнiстюЗаняття у школі проводяться в режимі онлайн.
Заняття у школі проходять двічі на тиждень. Адміністрація школи затверджує розклад для кожної групи окремо. Це може бути один з трьох варіантів:
- понеділок (19:00-22:00) та четвер (19:00-22:00);
- вівторок (19:00-22:00) та п'ятниця (19:00-22:00);
- середа (19:00-22:00) та субота (11:00-14:00).
Самостійно обирати дні та час занять не можна.
Але ви можете дізнатися у менеджера по роботі з клієнтами, за яким із трьох видів розкладу займатиметься саме ваша група.
Так, на всіх курсах (крім “Основи Програмування”) передбачені безкоштовні заняття з англійської мови. Вони проводяться в неділю - час занять залежить від вашого вихідного рівня англійської мови.
Так, після успішного завершення навчання ви отримуєте сертифікат про закінчення курсу.
Курс практично завжди стартує у призначену дату.
Винятками можуть бути зовнішні чинники, на які школа не може вплинути. Або якщо в групі не набирається достатня кількість людей, тоді дата старту може бути зсунута на період до 2-х тижнів.
Якщо в групі до анонсованої дати старту не набирається 50% студентів, ми зміщуємо дату старту на період до 2 тижнів, про що попереджаємо всіх студентів, які вже записалися до цієї групи. Навіть якщо протягом цього часу ми не набираємо жодної людини - ми все одно стартуємо навчання з тією кількістю студентів, яка є.
На сторінці кожного курсу є відгуки про курс. Також є сторінка всіх відгуків від компаній-партнерів та окрема спільна сторінка відгуків
Так. У нашій школі всі курси складені таким чином, що ви можете прийти на навчання абсолютно без знань у сфері - але зайвими вони не будуть. З корисною інформацією стосовно різних IT-курсів та напрямів ви можете ознайомитись ще перед навчанням у нашому блозі
Так, у вас є така можливість, але для цього вам потрібно буде пройти співбесіду з викладачем, щоб він визначив рівень ваших знань. Також вам потрібно буде здати пройдені модулі, після чого вас допустять до навчання з того місяця, коли ви приєдналися.
Так, ми практикуємо переведення на наступний потік або на інший напрям, але тільки за умови наявності вільних місць у групі.
Викладачі в нашій школі - це практикуючі фахівці, які працюють в IT-компаніях, з досвідом не менше 3-х років. Кожен викладач проходить 3 етапи співбесіди, а також консультації з навчального процесу перед тим, як буде допущений до викладання в нашій школі.
Стандартний ноутбук для офісної роботи з мінімальними вимогами: процесор i3, ОЗУ мінімум 8гб та SSD 256 Гб.
Щомісяця адміністрація школи проводить анкетування студентів для збору зворотного зв'язку про викладачів, якість освіти та зручність навчання в нашій школі.
Є 3 варіанти підписання договору зі школою:
Договір підписується через електронно-цифровий підпис ПриватБанку та сервісу “paper less”;
Через електронно-цифровий підпис у сервісі “Дія” та електронний сервіс “Вчасно”
Відправлення договору у паперовому вигляді через Нову Пошту для підписання.
Виключно оплата за реквізитами на розрахунковий рахунок школи.
При щомісячній оплаті - через кожні 8 занять. Тобто: раз на місяць в перше заняття навчального місяця.
Якщо двома частинами, то друга оплата має бути внесена на початку четвертого місяця (на 24-му занятті).
Згідно з договором, ви можете повернути 50% від вартості непройдених занять, що були оплачені. Повернення можливе з поважної причини та надання документів, що її підтверджують.
Так, ви можете звернутися з таким запитом до нашого менеджера. Ми надішлемо приклад договору на електронну пошту або в Telegram.
Ні, оплата проводиться тільки на розрахунковий рахунок.
Школа веде студента від початку пошуку роботи до отримання ним офера, бере участь у всіх етапах співбесіди в кожній компанії. Школа надає додаткове заняття зі складання резюме та допомагає у комунікації з HR/Rec. Ближче до фіналу навчання рекрутер школи збирає резюме та подає на співбесіди до компаній-партнерів, які вже мають відкриті позиції та знають рівень наших студентів. Вони лояльно ставляться до студентів школи, оскільки багато випускників A-Level вже потрапили до наших партнерів.
Основні компанії, в які ми працевлаштовуємо випускників - це наші партнери, з якими ви можете ознайомитися на сайті A-Level.
Отримати сертифікат про успішне проходження курсів. Також обов'язковою умовою є відвідування занять з англійської мови.
Студент має брати активну участь в процесі працевлаштування: ходити на співбесіди, виконувати тестові завдання і давати фідбек школі по кожному етапу, щоб ми могли вже в процесі підкоригувати проблемні моменти.
На багатьох наших напрямках є працевлаштування, проте, на жаль, не на всіх. Але ми працевлаштовуємо на всіх напрямках, незалежно від гарантії. Найважливіше - це знання та бажання самого студента!
Студент може написати свої побажання - ми намагатимемося знайти максимально схожу до них компанію серед наших партнерів. Проте, найголовніше - це знайти першу роботу для наших студентів! На жаль, не завжди є крутий вибір.
Ні, повернення коштів з цієї причини не передбачене.Найголовніша мета школи - це можливість для випускників знайти першу роботу. Але якщо студент знаходить роботу самостійно, ми вважаємо, що умови договору виконані, оскільки головна мета здійснена.
Ви можете звернутися за консультацією до адміністрації школи за телефоном або в Telegram. Адміністрація школи проведе консультацію, визначить ваші сильні сторони та допоможе обрати напрям. Також з описом кожного напряму ви можете ознайомитись у нашому блозі в статтях від викладачів та студентів
На кожній сторінці курсу є програма навчання та детальна інформація про технології, що вивчаються. Також ви можете прочитати детальніше про курси в нашому блозі в рубриці “курс очима викладача”
Такої можливості немає, але ви можете ознайомитися з викладачами та школою на наших відкритих заняттях, які ми проводимо щомісяця. Стежте за нашими соцмережами та анонсами заходів. Також ви можете підписатися на розсилку, щоб не пропустити повідомлення про наші заходи.
Крім того, познайомитися з викладачами можна в нашому блозі
Програми курсів коригуються щомісяця: відповідно до нових трендів та оновлень технологій, які передбачені на курсах. Ви можете бути впевнені, що програма буде актуальною на той момент, коли ви будете навчатися на курсах.
Основний упор у нашій школі робиться на практику, щоб на момент випуску у вас був досвід роботи в команді з практичними завданнями. Завдяки цьому в реальному проєкті ви зможете почувати себе комфортно.
Звичайно, ви можете зв'язатися з викладачем у будь-який денний час і, по можливості, він вам відповість. Враховуйте, що наші викладачі - це практикуючі фахівці, які працюють у компаніях. Але ваше питання не залишиться без відповіді у будь-якому випадку.
Так, кожне заняття записується. Ви матимете можливість переглянути заняття за потребою, якщо не змогли бути присутніми.
Після кожного заняття від викладача ви отримуватимете всі методичні матеріали, презентації, які використовувалися на занятті, а також додаткову літературу для самостійного вивчення.
Так, домашнім завданням приділяється окрема увага - їх буде багато.
Заняття проводяться в режимі online через платформу Google meet.
Комунікація ведеться через Telegram групу та електронну пошту.
Модулі можуть проводитись у різні відрізки часу - залежно від курсу. Але в більшості випадків це - раз на місяць.
Звісно так - таких матеріалів буде велика кількість.
Так, на кожному курсі студенти розробляють кілька невеликих проєктів та один великий - випускний. Всі ці проєкти будуть складати ваше портфоліо.
Не менше 80% відвідувань занять
Не менше 80% зданих дз
Не менше 7 балів за модульні роботи та фінальні іспити (захист проєкту та технічну співбесіду)