Собеседования на Fullstack QA. Личный опыт

в 5:16, , рубрики: задачи для собеседований, задачи для тестировщика, собеседование вопросы, собеседование тестировщика, собеседования python, собеседования qa, собеседования задачи

Привет!

В этой статье хочу поделиться своим опытом прохождения собеседований на Fullstack QA (Python + Pytest, но думаю, для других языков статья тоже будет полезна).

Предисловие

Последние 3 года я не интересовалась рынком труда, на собеседования соответственно тоже не ходила, по этому, когда я начала их проходить, меня ждало много открытий и удивлений.

По этому я решила поделиться своим опытом собеседований в 2024 году. Здесь будет много субъективного мнения, а так же немного реальных вопросов и задач, которые вы можете использовать для подготовки к своему собеседованию.

Собеседования на Fullstack QA. Личный опыт - 1

Как проходят собеседования

В течение 2-3х месяцев я проходила собеседования в около 12 разных компаний, и для себя разделила их, условно, на 2 группы:

  1. Компани с четкой структурой собеседований, это обычно крупные корпорации.
    Как правило, процесс найма проходит в несколько этапов, и ты заранее не знаешь в какую именно команду/отдел проходишь собеседование.
    Сначала могут быть какие‑то тесты, потом интервью чисто по теории, затем по программированию (лайфкодинг), а могут быть и несколько этапов теории и несколько по программированию.
    На таких собеседованиях, скорее, ждут ответы как в учебнике и примеры из «идеального» мира, примеры исключительно из личного опыта тут не прокатят.

  2. Компании с более человечным подходом. Тут, тебе скорей всего сразу скажут в какую команду ты проходишь интервью. Скорей всего, будет одно техническое собеседование, на котором будут вопросы и по теории и по программированию (возможны задачки на лайфкодинг), но скорее это будет похоже на диалог, а не на экзамен.

Общие советы

Перед тем, как перейдем к вопросам, хочется дать пару советов к тому, как подготовиться к собеседованиям.

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

  2. Сначала пройти собеседования в компании, которые вам не очень интересны. Лучше опозориться там‑где вы и не собираетесь работать, провести работу над ошибками, а потом пробовать идти, туда, куда хочется.

  3. Не ведитесь на рассказы, что сейчас нехватка кадров. Точней, нехватка, возможно и есть, но требования совсем не снизились, поэтому расслабляться не стоит (см. п.1)

  4. Не верьте рекрутерам. Закладывайте на собеседования на пол часа больше времени и будьте готовы, что на этапе который вам обещали, как «просто знакомство без вопросов» будет технический этап и наоборот. И сюда‑же — не ходите на собеседования из жалости к рекрутеру — они могут долго упрашивать вас отозваться на их реквест, а потом, сами же про вас забудут после собеса, и уже вы будете за ними гоняться чтоб дали обратную связь.

  5. Не расстраивайтесь, если не прошли. Это жизнь, бывает всякое, возможно вы действительно плохо подготовились, возможно нашли кандидата с более релевантным опытом, мало ли, что могло еще произойти. Все мы люди, у всех нас субъективная оценка и если кто‑то вас не смог оценить, то всегда найдется тот, кому вы подойдете. Пробуйте и все получится!

Что спрашивают

И вот, наконец, что конкретно спрашивают. Вопросы брались из памяти, по этому, в некоторых пунктах сохранилась формулировка авторов, а в некоторых только суть вопроса.

  1. Вопросы по Теории:

    • Пирамида тестирования. В том числе как она может меняться, почему, и хорошо это или плохо

    • Техники тест-дизайна. Часто просят вспомнить какие техники ты используешь на практике, привести примеры. Либо просят на конкретном примере рассказать какие техники применишь для какого кейса (ниже приведу пример)

    • Признаки (характеристики) качественного продукта

    • Как измерить качество / метрики качества

    • Каким критериям должно соответствовать приложение на тесте / условия "тестируемости"

    • Agile общий

    • Agile тестирование

    • Функциональное и не функциональное тестирование какие подвиды в каждом

    • Penetration тестирование

    • Автоматизация: какие виды тестов и кто реализует, на каком этапе тестирования используются, как запустить процесс автоматизации, какие сценарии можно не автоматизировать

  2. Кейсы тестирования:

    • Есть форма с полями. Придумать тест-кейсы с обозначением какую технику тест дизайна используешь в каждом из кейсов. Пример полей:

      • Имя (с ограничением по количеству символов)

      • Специальность врача (дропдаун)

      • Имя врача (дропдаун зависит от специальности)

      • дата (виджет)

      • время (виджет)

      • кнопка отправить

    • Есть какой-то http запрос рассказать из чего состоит и придумать тест-кейсы

    • Вы пришли на проект в котором 500+ ручных тесткейсов - что будете делать, какой план

    • Что делать если нет требований к задаче

    • Какие нефункциональные тесты можно применить к какому-то веб запросу

  3. Общие технические вопросы:

    • GIT - чем отличается git pull от git fetch и другие команды гита

    • tcp / upd чем отличаются протоколы

    • из чего состоит http запрос

    • в чем отличие http от https и в каких случаях можно использовать http и почему

    • что такое двух- и трех- уровневая архитектура, толстый и тонкий клиент.

    • сохранили какую-то формочку - что происходит с запросом дальше

    • приходит в девтулзах json как он отрисовывается на фронте

    • приходит html в запросе с уже сформированной инфой - где он обработался и сформировался

    • nginx что и для чего

    • как приложение понимает к какому серверу запрос если там передается красивый хост а не ip сервера

    • идемпотентность http-методов

  4. Python + Pytest:

    • декораторы

    • фикстуры

    • контекст менеджеры

    • магические функции (для чего нужен init в классе, enter и exit в менеджерах контекста)

    • хуки

    • отличие == от is

    • что вернет print(True + 4)

    • итерируемые объекты

    • a=3 - какой тип данных?

    • изменяемые и не изменяемые типы данных

    • написать класс (с какими-то методами), а потом еще один который от него наследуется

    • есть 2 слова. Написать функцию которая будет принимать эти 2 слова и проверять можно ли составить второе слово из первого

    • написать проверки валидации пароля

    • написать функцию для определения счастливого билета

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

    • написать функцию которая принимает на вход слово, длину и высоту и выводит слово всегда в центре, согласно референсу:

          ##############
          #            #
          #    test    #
          #            #
          ##############
  5. SQL:

    • написать простой селект с использованием LIKE

    • селект с джойном

    • селект с агрегатной функцией

    • как сделать селект из 2-х таблиц без джойна

    • как очистить данные таблицы

    • как удалить/создать таблицу

    • как удалить/создать бд

    • что такое транзакции

    • что такое первичный ключ

    • может ли быть составной первичный ключ

    • что такое внешний ключ

    • View в БД и их отличия от таблиц

    • Оператор UNION и ограничения на его использование

  6. Linux терминал:

    • как найти строку в документе

    • с помощью какой утилиты можно подключиться к удаленному Linux серверу и как оттуда скопировать файл на локальную машину

Автор: Alpis

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js