Процесс прохождения собеседований — важный навык, который нужно прокачивать, как и все остальные. С таким запросом часто приходят и наши ученики, а мы знаем, как решить это: зачастую вопросы на собеседованиях повторяются, поэтому для вас мы решили собрать подборку популярных вопросов, которые вам могут задать на собеседовании на Junior позиции по популярным технологиям.

Так что, если вам интересно, какие вопросы задают на собеседовании, то эта статья для вас. А если хотите узнать ответы на них, то переходите по ссылкам на наш YouTube канал и смотрите записи трансляций моковых собеседований с менторами Solvery. Там можно было узнать, как проходят реальные интервью и задать вопросы менторам Solvery.

Примеры вопросов на собеседованиях по различным технологиям:

1. IOS JUNIOR 

Общие вопросы:

  • На какие 2 основные группы делятся типы в Swift?

  • Что такое Value Type и Reference Type?

  • Что означает “Value Type принадлежит Reference Type”?

  • Когда мы создаем объект Value Type, то что хранит переменная?

  • Для любой ли структуры работает copy-on-write (COW)?

  • Почему в каких-то моментах лучше использовать Value Type, а в каких-то Reference Type?

  • Можно ли имплементировать структуры и протоколы?

  • Можно ли наследовать со структур?

Память:

  • Как устроена память?

  • Что такое утечка памяти и почему она образуется?

  • Что такое Automatic Reference Counting (ARC)?

  • При каких условиях счетчик уменьшается?

  • Если на объект есть только 1 слабая ссылка, создастся он или нет?

  • Как можно ловить утечки памяти?

View controllers:

  • Расскажите про жизненный цикл View controllers?

  • В каком методе происходит подсчет Constraints?

  • Плюсы и минусы работы с Constraints?

  • В чем разница между “frame” и "construct"?

2. JAVA JUNIOR

Общие вопросы:

  • Расскажите про solid принципы и как они применяются на практике?

  • Какие есть области памяти? Какие есть типы и что с ними может происходить? Где будут храниться одни типы данных, а где другие?

  • Каким образом можно понять используется объект или нет, когда у двух объектов есть историческая ссылка друг на друга?

  • Как нельзя сравнивать строки?

  • Можно ли имеющуюся строку добавить в пул строк?

  • Какие минусы у пула строк с точки зрения безопасности?

  • Как создается пул строк?

  • Можно ли удалить строку из пула?

  • Какие паттерны можете назвать?

  • Что можно сделать с помощью паттерна Builder и нельзя с помощью конструктора?

  • Какая структура максимально близка к паттерну команды? Чем его можно заменить?

  • Что вы можете сказать про микросервисы, какие у них плюсы и минусы?

  • Как бы вы организовывали взаимодействие нескольких сервисов? Какие каналы синхронизации вы бы использовали?

  • Каким образом вы бы организовали отправку клиенту сообщения о совершенной покупке, чтобы, если транзакция отменена, то сообщение не ушло?

3. PYTHON JUNIOR 

Общие вопросы:

  • Какие типы данных вы знаете?

  • Что такое контекстный менеджер?

  • Как можно сделать свой контекстный менеджер?

  • Итераторы и генераторы, что это такое?

  • Сталкивались ли вы с многопоточностью? Что это такое и как работает?

  • Что вы знаете про декораторы? Какие из них вы использовали?

Django:

  • Какой порядок выполнения запросов?

  • Какие методы вы можете назвать? В чем их разница и для чего они используются?

ООП:

  • Назовите основные принципы ООП

  • Как реализовано наследование в питоне? Расскажите про множественное наследование.

  • Что такое solid? Для чего это необходимо?

4. ANDROID JUNIOR 

Java:

  • Что такое сборщик мусора?

  • Какой объект есть у Java, который несет в себе все созданные классы?

  • Есть примитивные и ссылочные типы: можете рассказать про них подробнее и в чем их разница?

  • Можно ли переводить ссылочные типы в примитивные?

  • Какие есть модификаторы доступа?

  • Какие есть коллекции?

  • Какие есть реализации, в чем их разница?

  • Почему происходят гонки потоков?

  • Что такое Semaphore?

  • Как обрабатываются ошибки?

Kotlin:

  • В чем отличие примитивных типов от Java?

  • В чем преимущество Kotlin при андроид разработке?

  • “!!” означает?

  • Есть 2 класса, как между ними написать наследование?

  • Data класс можно наследовать? Для чего он нужен?

  • Any и Unit — различия

  • Как сделать статическое поле? Класс?

  • Inline функции — как они работают?

  • Вспомогательные функции — какие вы знаете?

  • Можно ли использовать примитивные типы?

  • Нужны ли конструкторы в data классе?

Android:

  • Из каких частей состоит и какая часть за что отвечает?

  • Зачем нужен манифест?

  • Что храним в ресурсах?

  • В чем измеряется текст?

  • Какие различия между единицами измерения?

  • Основные компоненты андроида — расскажите подробнее о каждом их них

  • Какие методы жизненного цикла Activity вы можете назвать?

  • Что такое фрагменты и зачем они нужны?

5. REACT JUNIOR 

Общие вопросы:

  • Расскажите о типах данных в JS

  • Почему массив — тоже объект?

  • Что вы знаете про области видимости?

  • Расскажите про хостинг, что вы знаете?

  • Почему стали применять стрелочные функции вместо классических?

  • Расскажите про замыкание, что вы знаете об этом?

  • Как сделать, что возраст у объекта нельзя было изменить?

  • Расскажите про Async Await

  • Расскажите про компоненты REACT, которые вы знаете

  • Какие преимущества функциональных перед классовыми?

  • Перечислите методы жизненного цикла

6. C# JUNIOR

Общие вопросы:

  • Какие паттерны вы знаете? Какие типы?

  • Что можете рассказать про абстрактную фабрику?

  • Что можете сказать про адаптер?

  • Стринг — какой тип?

  • Расскажите про сборщик мусора

  • Какие коллекции вы знаете? Какие их конкурентные версии вы знаете?

  • Как избежать рассинхронизацию потока?

  • Что знаете про монитор и семафор?

SQL:

  • Какие типы БД вы знаете, расскажите о них подробнее

  • Что такое индексы, какие типы бывают?

  • Назовите минусы индексов?

7. GO JUNIOR

Общие вопросы:

  • Клиент — банк. Есть словарь, где ключ — цена товара. Хотелось бы, чтобы цене соответствовало несколько значений. Что бы вы выбрали в качестве ключа и значения мапа, какие типы документов будут храниться?

  • Как работает мапа?

  • Что такое Hash collisions?

  • Как сравнить 2 числа, равны они между собой или нет?

  • Как работают строки?

  • Что такое слайсы и как они работают?

Бекенд:

  • Как выявить проблему, если микросервис выдает ошибку 500

  • TCP и UDP — в чем разница?

  • Процесс и поток — в чем разница?

  • Что вы знаете про горутины?

8. ANGULAR JUNIOR

JavaScript:

  • Расскажите про примитивные типы данных в JS

  • В чем разница между null и undefined?

  • Назовите популярный баг, который связан типом null?

  • Какие различия между function declaration и function expression?

  • Что вы знаете про такие методы как call, apply и bind? Что это за методы, для чего они нужны и какие отличия у них?

  • Что такое замыкание и для чего оно используется?

  • Промисы — что это такое и какие состояния у них есть?

  • Преимущества использования синтаксического сахара над промисами

  • Расскажите про Promise.race

Angular:

  • Как работает ангуляр?

  • Какие бывают типы привязок и какие у них отличия?

  • Что вы можете рассказать про пайпы (pipes)?

  • Что такое Observable? Какие преимущества перед промисами?

  • Что такое hot и cold Observables?

  • Отличия subjects, behavior subjects, replay subjects

  • Назовите известные вам операторы работы с потоками и расскажите о них

9. QA JUNIOR

  • В Бурдж Халифе лифты с карточками доступа. Есть 15 этажный дом: 1 этаж — парадная, 2-6 этажи — эконом, 7-11 — комфорт, 12-15 — люкс. Люди между 3 классами не должны ходить друг другу в гости. Как протестировать лифт минимальными действиями? А если 150 этажей и 30 категорий?

  • В колл центре нужно проверить 10 телефонов, приходят ли туда звонки. А теперь 100 телефонов. Как это сделать?

10. ML JUNIOR

Общие вопросы:

  • Назовите 3 главных бустинга

  • Назовите главные параметры в CatBoost

  • Разница между L1 и L2

  • Почему сверточные сети называют локально связанными, какие есть альтернативы?

  • Где может понадобиться свертка 1 на 1?

  • Назовите задачу метчинга?

  • Какие методы регуляризации нейронных сетей, для чего они нужны и как работают?

  • В чем суть аугментации?

  • Регуляризация на уровне аугментации, что вы можете об этом рассказать?

  • Docker — это?

  • Расскажите про жизненный цикл модели

Комментарии (29)


  1. LuggerFormas
    00.00.0000 00:00
    +12

    Какие же помои...


    1. Guceva_Polina Автор
      00.00.0000 00:00
      -5

      Подскажите, что конкретно вас не устроило в статье?

      Все менторы Solvery, которые участвовали в составлении данного списка вопросов — действующие специалисты уровня Middle+. Они работают в IT компаниях и регулярно собеседуют джунов. Здесь собраны те вопросы, которые они обычно задают своим кандидатам. Конечно же, вопросы могут отличаться в зависимости от компании, интервьюера, а также собеседуемого. Это лишь наше видение


      1. Linder666
        00.00.0000 00:00

        Может вместо того, чтобы под каждым комментарием отвечать шаблонной отмазкой, все таки поработать над статьёй?)


      1. Akina
        00.00.0000 00:00
        +1

        Ну так и надо было назвать статью: "Топ вопросов на Junior собеседованиях в компании Solvery", и не претендовать на глобальность.

        Я, конечно, не программист, из всех упомянутых областей только в SQL не плаваю, а по нему всего 3 вопроса - но над ними откровенно ржал. Скажем, "Какие типы БД вы знаете, расскажите о них подробнее" - на этот вопрос я бы однозначно ответил "встраиваемые и серверные", а на попытку уточнить и получить от меня иную классификацию точно бы посчитал интервьюера ламером, неспособным вменяемо сформулировать вопрос.


      1. LuggerFormas
        00.00.0000 00:00
        +1

        Увольняйте всех. Позорище полное, еще с этой помойкой на хабр лезть


  1. panzerfaust
    00.00.0000 00:00
    +6

    Поскольку я по JVM, то попробую ответить

    Какие паттерны можете назвать?

    SAGA, двухфазный коммит, reactor. Кстати, при чем здесь джава?

    Каким образом вы бы организовали отправку клиенту сообщения о совершенной покупке, чтобы, если транзакция отменена, то сообщение не ушло?

    Как бы вы организовывали взаимодействие нескольких сервисов? Какие каналы синхронизации вы бы использовали?

    При чем тут джава опять же?

    Что можно сделать с помощью паттерна Builder и нельзя с помощью конструктора?

    Можно недостроить объект. Конструктор в положительном сценарии точно достроит.

    Как создается пул строк?

    Предполагаю, как-то в кишках JVM. Откуда джуну это знать?

    Какой объект есть у Java, который несет в себе все созданные классы?

    Без поллитры не разберешься. Речь про класслоадер что ли? Что вообще такое "создание класса"?


    1. sshikov
      00.00.0000 00:00
      +1

      >все созданные классы?
      >Речь про класслоадер что ли?
      Про класслоадер, которых кроме всего прочего может быть много? То есть «все классы» — это в общем случае неправда, если речь про него.

      >Что вообще такое «создание класса»?
      loadCLass у класслоадера таки возвращает класс, построенный из байткода.

      Но список вопросов конечно ужасен, без сомнений.


      1. panzerfaust
        00.00.0000 00:00

        loadCLass у класслоадера таки возвращает класс, построенный из байткода.

        Так-то оно так, но если у меня спросят "как создаются классы", то я сначала отвечу "руками пишутся". Потом возможно вспомню про какое-нибудь метапрограммирование.


        1. sshikov
          00.00.0000 00:00

          Ну это разные взгляды. Если смотреть с точки зрения JVM — то классы (Class) таки создаются класслоадерами.


  1. benzol
    00.00.0000 00:00
    +1

    По Java 4 из 14 вопросов - про пул строк. Это правда настолько самое-самое-самое важное в джаве что достойно почти трети вопросов ?


    1. Maccimo
      00.00.0000 00:00
      +1

      Главное, что нужно знать про пул строк жаба-джуниору это то, что его не стоит трогать голыми руками. Процитирую Шипилёва:


      In almost every project we were taking care of, removing String.intern() from the hotpaths, or optionally replacing it with a handrolled deduplicator, was the very profitable performance optimization. Do not use String.intern() without thinking very hard about it, okay?

      Отсюда: https://shipilev.net/jvm/anatomy-quarks/10-string-intern/


    1. Guceva_Polina Автор
      00.00.0000 00:00
      -3

      Все менторы Solvery, которые участвовали в составлении данного списка вопросов — действующие специалисты уровня Middle+. Они работают в IT компаниях и регулярно собеседуют джунов. Здесь собраны те вопросы, которые они обычно задают своим кандидатам. Конечно же, вопросы могут отличаться в зависимости от компании, интервьюера, а также собеседуемого. Это лишь наше видение


  1. Akina
    00.00.0000 00:00
    +4

    Типичное "Я художник, я так вижу"...

    Если не считать "плюс публикация", то полезность - нулевая.


  1. Linder666
    00.00.0000 00:00
    +1

    6. C# JUNIOR

    Общие вопросы:

    Какие паттерны вы знаете? Какие типы?

    Внезапно паттерны существуют только в шарпе? И это точно на джуна?

    Что можете рассказать про абстрактную фабрику?

    Что можете сказать про адаптер?

    Опять паттерн? т.е. интересует именно конкретный паттерн, а не само понятие абстракции, абстрактного класса и т.д.? Опять же, это на джуна?

    Стринг — какой тип?

    Ссылочный. Более ничего на этот вопрос не ответить. Может все-таки поинтересоваться, знает ли кандидат про иммутабельность сток?

    Какие коллекции вы знаете? Какие их конкурентные версии вы знаете?

    Как избежать рассинхронизацию потока?

    Многопоточка, но не асинхронность? Для джуна? Да обычный джун хорошо, если умеет потоки запускать да ожидать его окончания, не то что уже синхронизацию уметь или понимать потокобезопасность.

    Что знаете про монитор и семафор?

    Ну блин, опять, джун со знаниями глубже основ... это уже не джун.

    SQL:

    Какие типы БД вы знаете, расскажите о них подробнее

    типы БД? В разделе про конкретный тип реляционных БД?

    В iOS блоке почему то включили вопросы по Reference/Value Types, хорошие как теория, но по Шарпу уже ищут не джуна, а мидла.


  1. AnimeSlave
    00.00.0000 00:00
    +2

    Из опыта поиска работы на джуна, могу экспертно заявить, нет никах топ вопросов. Все собеседования отличаются и сильно зависят от конкретного интервьювера и стека технологий который применяется в компании, куда пытается устроится джун. Отличия будут от методики проверки знаний джуна и от требований на конкретную должность. Спросить могут о чём угодно в рамках конкретной технологии в конкретной области. И вопросы могут быть и уровня «что значит "словарь" в программировании», и уровня «как избежать состояния гонки, если атомарные операции запрещены правил стиля код». То есть точно знать, что будет на собеседовании практически не возможно, если предварительно не было подготовительной втречи


    1. SergeyTatevosyan
      00.00.0000 00:00

      И все же есть некий пул базовых вопросов отражающих знания человека, которые спрашивают достаточно часто. Остальные вопросы согласен, зависят от компании и от команды.


  1. SergeyTatevosyan
    00.00.0000 00:00
    +1

    Странно как то, в каких то языках есть, а в C# нет- например, ссылочные/значимые типы, принципы SOLID, парадигмы ООП- такое достаточно часто спрашивают. С паттернов врятли кто то начнет собеседование, тем более на Junior разработчика.


    1. Linder666
      00.00.0000 00:00

      вот вот, для джуна честный ответ на вопрос про паттерн в лучшем случае будет "да, слышал, тыкал палочкой, что-то делал, но плохо знаю/не применяю", а не плюсы/минусы, типы и т.д.


    1. Guceva_Polina Автор
      00.00.0000 00:00
      -4

      Все менторы Solvery, которые участвовали в составлении данного списка вопросов — действующие специалисты уровня Middle+. Они работают в IT компаниях и регулярно собеседуют джунов. Здесь собраны те вопросы, которые они обычно задают своим кандидатам. Конечно же, вопросы могут отличаться в зависимости от компании, интервьюера, а также собеседуемого. Это лишь наше видение


  1. dopusteam
    00.00.0000 00:00
    +1

    Почему джавистам SOLID нужен, а шарпистам - нет?


    1. Guceva_Polina Автор
      00.00.0000 00:00
      -5

      Все менторы Solvery, которые участвовали в составлении данного списка вопросов — действующие специалисты уровня Middle+. Они работают в IT компаниях и регулярно собеседуют джунов. Здесь собраны те вопросы, которые они обычно задают своим кандидатам. Конечно же, вопросы могут отличаться в зависимости от компании, интервьюера, а также собеседуемого. Это лишь наше видение


      1. dopusteam
        00.00.0000 00:00
        +1

        Дело в том, что я понятия не имею, что такое solvery и почему я должен этим менторам доверять)

        А после таких вопросов, я точно не буду им доверять


  1. ROBvakhrush
    00.00.0000 00:00
    -4

    Неплохо


  1. otrix_coder
    00.00.0000 00:00
    -4

    спасибо


  1. nryabykh
    00.00.0000 00:00
    +1

    В чем суть аргументации?

    Регуляризация на уровне аргументации, что вы можете об этом рассказать?

    Вы неправильно расслышали незнакомое слово. Не "аргументация", а "аугментация".


    1. Guceva_Polina Автор
      00.00.0000 00:00

      Спасибо! Исправила


  1. fiksii
    00.00.0000 00:00

    Простите, пожалуйста, но 10й пункт - это чушь.

    1. 3 главных бустинга?? Это что имеется ввиду, я знаю только 2: Adaptive и Gradient. Или тут имеется ввиду: XGBoost, LightGBM and Catboost. Но, тогда вопрос некорректный.
    2. Назовите главные параметры в CatBoost. АААААААААААААААААААААА!!!! Что это? Почему CatBoost??? Почему не XGBoost, почему не H2O GBM??? С каких пор CatBoost у нас стал эталоном?
    3. В чем суть аргументации? Может быть все-таки аугментации?
    4. Docker — это? и Расскажите про жизненный цикл модели. Серьезно? Для ML junior?



    1. Guceva_Polina Автор
      00.00.0000 00:00
      -3

      Все менторы Solvery, которые участвовали в составлении данного списка вопросов — действующие специалисты уровня Middle+. Они работают в IT компаниях и регулярно собеседуют джунов. Здесь собраны те вопросы, которые они обычно задают своим кандидатам. Конечно же, вопросы могут отличаться в зависимости от компании, интервьюера, а также собеседуемого. Это лишь наше видение


  1. Gagydzer
    00.00.0000 00:00

    • Расскажите про хостинг, что вы знаете?

      Это Где сайты размещают?