Список запитань зі співбесіди. Може комусь буде у нагоді. Де працював і чим займався, (опис проектів, стек технологій та прямі обов’язки на проектах) Які базові типи даних ти знаєш? Чим відрізняються lists та tuple? Навіщо нам незмінні типи даних? Словники. Які типи даних можуть виступати ключем? Асимптотична складність алгоритмів. Опишіть що ви знаєте про це За що відповідає break та continue в циклі? Як використовується конструкція else у циклах? Що таке декоратор? Яким чином можна викликати декоратор без “@”? Як створити свій особистий декоратор? Як створити декоратор з параметрами? Що таке контекстний менеджер? Наведіть приклади використання контекстного менеджера Яким чином можна створити свій контекстний менеджер? Що таке генератор і навіщо його використовують? Як створити генератор? Що таке ітератор? Як створити ітератор? Які концепції ООП ви знаєте? Як працює успадкування у python? Що таке Diamond Problem? Розкажіть про інкапсуляцію Як реалізована інкапсуляція у Python? Що таке поліморфізм у Python? Назвіть принципи SOLID Що таке GIL? Як працює асинхронне програмування в Python? Як працює Garbage Collector у Python? За що відповідають ключові слова WHERE та HAVING у PostgreSQL? Які види Join’ів ви знаєте? Різниця між INNER JOIN ТА LEFT JOIN? За що відповідає EXPLAIN у PostgreSQL? Що таке індекси у БД? Напишіть SQL код та виберіть 3 співробітників з найвищою зарплатою з таблиці employee. Напишіть SQL код який вибере з таблиці users усі дубльовані значення email. Що таке Middleware? Чи доводилось вам писати власні middleware? Як визначається порядок виклику middleware для request та response? select_related() та prefetch_related() - що це і коли використовується? Назвіть основні концепції REST Яка різниця PATCH та PUT HTTP методів Назвіть HTTP статус коди З якими AWS сервісами ви працювали? Напишіть функцію яка буде перевіряти чи є число простим?
_Чим відрізняються lists та tuple? Навіщо нам незмінні типи даних?_ І потім: _З якими AWS сервісами ви працювали?_ 🤣🤣🤣 Саме так, добродію, саме так все й відбувається. А ще одночасно питають про "два плюс два" і теорему Ферма, інфа сотка.
Цікавий формат для перевірки власних знань, спостерігаючи за відповідями опитуваного. Чітко поставлені питання, а також "натякаючі" питання для поштовху до відповіді взагалі круто)
можна ще оптимізувати, якщо спершу дивитися чи число при діленні на 6 дає остачу 1 або 5, оскільки будь-яке просте число (крім 2 і 3) - це 6k+1 або 6k-1, але не навпаки. По цій умові можна відкидати відразу ~5/6 всіх чисел, і тоді йти в циклі від п’ятірки до (кореня з заданого числа)+1 але з кроком 6 і на кожній ітерації дивитися чи число відповідає хоча б на одній з двох умов: ділиться на і або на і+2, якщо ні, то вертаємо False, а якщо так, йдемо далі в циклі.
А ви впевнені що це інтерв'ю на джуна? Хочеться підтримати хлопця, він молодець! на мою думку, інтерв'ю точно не джунівське Інтерв'юера хочеться попросити трохи повільніше та доброзичливіше 🙏
про for ... else це питання із серії "я вчора сам нагуглив, що так можна, спитаю сьогодні на собесі" - може не буквально, але по суті. Це прям дуже-дуже рідко юзають.
інтервювер підчас інтервю починає давати відгук відразу після почутоі відповіду. типу якщо нема бажання перевірити кандидата на стресостійкість, то не бажано так робити.
Задача с простыми числами конечно для джуна не простая :) какой то вариант они могут накинуть, но он в 99% будет не оптимальным что в принципе не даст возможности показать себя... самый адекватно хороший вариант если будет заимплеменчен перебор делителей, деление числа N на все делители от 2 до округленного значения "корень от N" (а не N/2+1)... def simple_number(number): if number
Ех, якщо би не служив строкову 20 років тому то можна було би і по працювати, але наразі не до програмування. Прийшлося покинути роботу. Так, і хто сказав що having то сабквері ?
На мою думку відверто кажучи дуже слабенько пройшов інтерв'ю хлопець. Може перенервував, все ж під запис складніше проходити, думаю. Наче і досвід є. Я жодного дня не працював розробником, для мене програмування це хоббі, і то на переважну більшість питань зміг відповісти спокійно. Не маю досвіду співбесід на позицію розробника, але чомусь думав, що такі базові речі як лічильник посилань / garbage collector, CPU bound / IO bound операції, часова складність операцій над базовими структурами даних і т.п. - це типу стандартні питання і їх всі знають. Навіть трохи замислився, може все ж таки спробувати перетворити хоббі на роботу?))
@@olexandr.v ну я вказав де прям невпевнено або неправильно відповідав. І це ще я про частину по SQL не згадав. Мені важко собі уявити людину, яка б працювала з БД і не знала для чого використовується HAVING.
@@user-bq7hh5gr5f можливо це тому, що я почав цікавитись програмуванням з мікроконтролерів, потім був С++, зараз Python) Мені цікаво розібратися як саме працює технологія зсередини, а не просто навчитись нею користуватись. Може для роботи воно і не потрібно, тут не можу стверджувати.
Дуже класний відос, але інтервьюер трішки погано пояснював хлопцю що таке просте число. Можливо як би він сказав, що просте число це число яке ділиться БЕЗ ОСТАЧІ, лише на себе та на одиницю, то хлопець би швидше зрозумів =) Бо ділиться все на все (окрім нуля)
Senior співбесіда в корені відрізняється від джунів та міблів, бо там більше архітектурні питання та питання про досвід, я планую провести мідловське, це буде цікавіше
@@vladysllav я б не сказав що таки прямо в корені, можна і на суто технічні питання відповідати по різному для приклад навіть про ті ж декоратори джун розкаже як робити базовий декоратор та може параметризований, мідл реалізує їх та може розкаже за класові декоратори сіньйор за реалізацію асинхронних декораторів, та лямбда декораторів, думаю тут справа в нюансах.
Ну, поки враження, що ніфіга не джуніорське інтерв'ю, та й хлопець не зелений джун. Але треба додивитися до кінця. ) Дописую по ходу перегляду інтерв'ю: Інкапсуляція в першу чергу - це не приховування, це об'єднання/групування даних та методів роботи над даними в одному місці/об'єкті. Приховування - це вже більше побічний ефект. Ну з базами то та, трішки туйво, і все ж не геть нулячий. n+1 проблему не всі сіньйори знають ) Ех, задачка з простими числами підкачала, але загалом можна і мідла з натяжкою дати.
Ну ні.. це точно не мідл з натяжкою. Перша секція. Це базові питання по конструкціям мови і інформатиці. Людина відповіла про конструкції мови, але вже були пробіли в розумінні BigO нотації. Це база алгоритмів і структур даних, а не якісь складні алгоритми обходу графу. Далі трошки в бік, питання про асиннхронність і теж пробіл. Друга секція про бази даних, індекси, SQL. Теж багато пробілів, і знає, що індекси прискорюють пошук, і в той же час не розуміє які є підробні камені. Секція з кодом, тут нема що коментувати, можливо, трошки переночував, але блін.. Як на мене, це рівень трейні-джуна. Умовно кажучи, студент 4 курс, який закінчив університет знав би не менше, якщо не більше. Але такого студента ніхто не візьме на мідла.
@@Footy-Funnies к сожалению, у соискателя не было возможности продемострировать навык кодирования, как таковой, т.к. сама концепция простых чисел для него оказаллась чем-то новым и тупил он именно из-за этого. Интервьюер мог бы дать что-то попроще, например сортировку массива целых чисел, просто чтобы посмотреть, как парень кодит, когда понимает поставленную задачу.
кожен раз як він казав тАпл у мене вуха просто відпадали😭. Жодних притензій і тд це моя проблема що я вивчаю копютерні науки англійською, але якщо хочете говорити правильно то кажіть тЮпл (tuple)
Гугл перекладач каже ТАПЛ; Оксфордський і Макмілан словники не знають такого; Кембриджський каже ТЮПЛ; Зайшов на Youglish - є багато прикладів обидвох версій; Звичайний пошук гугл каже, що ТАПЛ; Дискусії в інтернеті - жодна версія непомилкова🤷♂
@@cayendar цей варінт зустрічається, але майже відсутній(в основному так криво лише гугл переклдач каже, якщо зайти на оксфордський словник там немає варіанта тАпл і навіть гугл так не каже там буква між а та е). З битанців/американців відсотків 5 лише так скаже і знову ж там ніхто не вимовляє чітку А це щось між а та е і ближче наближене до е. І знову ж англійська в нього хороша, і загалом якщо людину розуміють значить все ок. Просто дуже різко дало по вухам
оксфорд словник - британська вимова, гугл транслейт - американська (якби в гугл транслейт була неправильна - її б змінили). про 5 відсотків - стата з голови. глянув в ютубі 5 перших відео - в двох тапл. ось ще пруф, де люди сперечаються ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-uFEXQVkhjGs.htmlsi=xasmwlcwEYGU6CxP
@@drainage-water у кембридському словнику є два варіанти і американський теж тЮпл. У тому що ви відправили теж немає тАпл там інший звук. На рахунок словника гугл, цей словник більшьшою своєю частиною це машинне навчання. Ніхто не сидить і не виправляє його і він вважається доволі ненадійним словником для користування
На більш реальній співбесіді, інтерв'ювер не буде за вуха тягнути по питанням, чи пояснювати де претендент плаває, просто поставить ще декілька простих алгоритмічних питань з математики наприклад як множити матриці, як порахувати персентиль, або логарифм по базі 10, якщо претендент також не розуміє, то ставиться мінус в графі щодо математики. Якщо це важливо для роботи то це автоматична відмова, якщо не важливо то це просто мінус бал при виборі з претендентів
Жодних намірів когось образити. 1:23:40 тіп банально не розуміє логіки, мені 15 років, за 5-7 хвилин (думаю для мене це довго) вирішив цю задачу в репліте, візьміть мене на працювати будь ласка). Мені відверто не зрозуміло як такі люди як цей «тіпок» взагалі вчать програмування. Я розумію що на співбесіді може бути трохи складно, але щоб настільки тупити… Ось моє вирішення: def simple(number): a = [2, 3, 5, 7] if number in a: return True else: for i in a: if number % i == 0: return False return True while 1: print(simple(int(input()))) Автор, надайте будь ласка відповідь до цього повідомлення з вашою думкою щодо того що я написав (Не про влаштування мене працювати, а щодо людини яка проходить співбесіду). Доречі «собачка» з російською, українською буде «равлик», це до того де ви розбирали декорації. Ще раз - нікого не хотів образити. Образив - прошу вибачення
цей код не є валідним вірішенням задачі, так як він перевіряє лише множники до 7, а що робити з більшими простими множниками? вони мають визначатись як range(2, int(number ** 0.5) + 1) бо простих чисел є нескінченний ряд. Також питання куди поділась 1?
Пацан просто зазубрил ответы на вопросы, которые чаще всего попадаются на собеседованиях. Невозможно понять как устроены декораторы, итераторы, и не решить задачу на простые числа. От программиста, который не любил в школе математику ничего хорошего не ждите.
Для реалізації завдання "з визначення Чи_Є_Число_Простим" потрібно знати, що таке Просте число і алгоритми його визначення Алгоритм Ератосфена. Коду там на 10-20 рядків. А "кандидат" не знає основи математики - це жах :( Не можна бути вправним програмістом і не знати базу з математики, фізики і хімії шкільної програми, а можна бути просто "кодером-початківцем". Я шокований
Ого. Я думав я повний нуль в програмуванні. Також вже не памятаю математику. Загуглив що таке прості числа, хвилин за 5 написав функцію. Це впринципі легкий рівень на літкоді, навіть і алгоритмом не назвеш. Може хлопець неовував і просто зациклився на цьому а не на рішенні. Але якщо справді не знає , то це не джун точно початківець.