Я прошу пояснити своїми словами, у чому ці принципи полягають, і найголовніше — для чого їх потрібно знати? 20 років тому розробники писали код без усіх цих принципів, і він працював, тож навіщо ускладнювати собі життя? Навіть не маючи в цьому досвіду, джуніор має розуміти, для чого це потрібно, інакше не буде інвестувати свій час у те, щоби тренуватися писати за цими принципами. Що робити, якщо шило все ж заважає і хочеться хоч раз в житті показати свої найглибші знання в області алгоритмів і структур даних і без того наляканому кандидату. Почнемо з того, що такі питання варто задавати тільки senior розробнику і тільки якщо завдання такого плану зустрічаються на проекті досить часто (що зустрічається досить рідко). Так вже й бути, запитуйте про пристрій HashMap і швидкості пошуку, про влаштування LinkedList і складності операцій над ним.
Вадим Зінченко
Якщо не знаєте, як відповісти на конкретне питання технічного експерта, спробуйте дійти до правильної відповіді за допомогою логіки. Озвучте свій хід думок, це дасть змогу експерту оцінити напрям вашого мислення та, можливо, додасть вам певні «бали» під час оцінки вашої кандидатури після співбесіди. Іноді розробники жаліються, що на співбесідах питають здебільшого теорію. І частина тем вкрай рідко використовується на практиці. Але самі ці питання дозволяють визначити базовий рівень кандидата, з чим він стикався, а також його бажання приєднатися саме до цієї команди.
Питання, пов’язані з базами даних
Ми зібрали великий перелік зі 170 питань на співбесіду з JavaScript для спеціалістів різних ґрейдів — Junior, Middle, Senior. Він охоплює такі теми як основи JavaScript, фронтенд, бекенд, безпека, архітектура та фреймворки. На технічних інтервʼю ставлять лише невелику частину питань із цього переліку, але він буде корисним для підготовки до співбесіди та допоможе виявити прогалини в знаннях.
- Принаймні так думає той, хто вам їх роздаватиме.
- Якось навіть дали завдання дописати бібліотеку на JavaScript, хоча вакансія була відкрита для Python-розробника.
- Але ж від цього ці люди не перестали бути собою.
- Раніше ми вже розповідали про безплатні курси та стажування, які допомагають здобути досвід тестувальникам, а також прокачати скіли в Java, PHP, C#, QA.
Якщо кандидат відповідає, що проблем не було, це свідчить про те, що інструмент використовувався лише на базовому рівні, тому він ці обмеження просто не зустрів. Дякую за запитання, але таке враження, що цей список складався синдром самозванця десь в 2013 році, 95% питань по Java стосуються Java 7 і менших версій.По Java 8 дуже мало питань, по Java 9+ взагалі немає. За великим рахунком більшість питань тут на знання і замало по навичкам.Не побачив жодного питання по розподіленим (мікросервісним) проектам, а там патернів і питань ой-ой-ой.
Багатопотоковість
А що потрібно знати full stack розробнику із серверного набору? Тепер розберемося з відгалуженнями в бекенді, які вказують на популярні мови та технології, що використовуються під час реалізації серверної сторони веб-додатків, котрі розробляються. “В принципі, в ідеалі, Full-stack розробник – це класно та чудово. Вони у більшості випадків зробити добре, красиво не можуть ніяк. Максимум, що можуть – зробити так, щоб кнопка натискалася.
курсів для підготовки до технічних співбесід по Java, Python, SQL
Частіше ж зустрічав нетяжкі задачі як додаткові запитання, але тільки в якихось стартапах (на кшталт знайти цикл в списку без дод пам’яті, кількість операцій в коді і т.п.). На ентерпрайз співах ні разу такого не питали. 66.У чому різниця між HashSet, LinkedHashSet та TreeSet? 68.Який час пошуку елемента в ArrayList, HashSet?
Бажано знати кілька складних алгоритмів middle java developer пошуку чи сортування, розуміти, як саме визначається складність алгоритмів (Big O notation) і так далі. Як і з мовою програмування, рівень знань та навичок використання SQL має бути на вищому рівні. Ви повинні бути готовими створювати важкі, комплексні запити до баз даних, орієнтуватися у синтаксисі та розуміти тонкощі роботи з базою даних. Тестове було доволі простим, кілька завдань на знання Python (маніпуляція різними типами даних, створення класів і, якщо не помиляюсь, написання декоратору). За дві-три годинки все написав, відправив і став очікувати наступних кроків. На наступний день мені відписали і запросили на співбесіду.
Слова не завжди допоможуть
На заняттях Бей на конкретних прикладах показує, як проходити інтерв’ю онлайн та офлайн, як відповідати на каверзні питання HR-менеджерів та вирішувати завдання. Лекції також допоможуть дізнатися, який недооцінений прийом рідко використовують кандидати на співбесідах, а дарма. Наприклад, на GitHub-репозиторії ви побачили тестовий проєкт для компанії, якої немає у CV. Значить людина проходила співбесіду, можна про це спитати — чим закінчилося, чому не пішли? Іноді можна отримати дуже цікаві відповіді, які дають зрозуміти, як людина приймає рішення, які має пріоритети у пошуку роботи. Одна якась ігрова контора на лівому (років з 5 тому), ще пару разів, під час пошуку першої і другої роботи, давали прості задачі (із загального пулу в 50 співбесід ±).
Співбесіди на рівні Junior та Middle
Думаю, основною причиною, чому я обрав саме backend розробку, а не щось інше, (frontend, AQA, DevOps) була схожість backend розробки на те, чим я займався як інженер-програміст на заводі. Тож фактично треба було лише вивчити синтаксис нової мови, а всі базові поняття і принципи я і так вже розумів. Першу роботу як Junior Python Developer я отримав у 2018 році, приблизно через рік після того, як почав вивчати мову.
Наступний крок – вивчення реляційних баз даних, і навіть систем управління ними (MySQL чи PostgreSQL). Дуже чекав цю статтю, але, як на мене, досить дивний список. https://wizardsdev.com/ Тоді я почав цікавитись фотографією, векторною графікою, зрештою — криптовалютою й інвестиціями.
Підпишися на інсайти
У свою чергу це безпосередньо веде нас до питань про структурах даних, алгоритмах і їх складності. Моя думка з цього приводу – з алгоритмами добре знайомі Олімпіадники і ті, у кого в університеті це викладалося на належному рівні. Мені, наприклад, в цьому плані не пощастило ні з тим, ні з іншим. І розбирався в алгоритмах / АТД по ходу своєї роботи тільки тоді, коли виникали відповідні завдання або просто був час і бажання почитати і усвідомити. В результаті – quick sort, merge sort, radix sort напишу; hash map, linked list, binary search tree напишу; semaphore, thread pool, blocking queue теж напишу.
Навчання у FoxmindEd вирізняється індивідуальним підходом до ефективна система мотивації кожного студента та акцентом на практичному застосуванні отриманих знань. Так було зі Scala, потім з Node, а от зараз з Go. — Не відрізняти грос і чисту зп.— Відмовитися від віддаленої роботи за 2500, піти на 1500, а потім просити 2500. — Пройти співбесіду, з екс гугл девелопером без алгоритмів.
Leave a Reply