что спрашивают на собеседовании java junior

Разбор вопросов и ответов с собеседований на Java-разработчика. Часть 1

Есть отличная статья с топом вопросов и ответов для них. Некоторые вопросы пересекаются с представленным выше списком (250+), поэтому эти вопросы будут пропускаться, дабы не дублировать лишний раз информацию.

Вопросы представлены на украинском, но так как большинство участников JavaRush русскоязычные (да и я в большей мере тоже), ответы будут на русском.

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

Вопросы и ответы уровня Junior

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

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

1. Какие вы знаете шаблоны проектирования? Расскажите о двух шаблонах, которые использовали в работе.

Java Core

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

2. Какие типы данных есть в Java?

3. Чем объект отличается от примитивных типов данных?

4. Чем отличаются передача параметров по ссылке и по значению?

5. Что такое JVM, JDK, JRE?

6. Зачем используют JVM?

7. Что такое bytecode?

8. Каковы признаки JavaBean?

Класс должен быть сериализуемым, то есть должен иметь интерфейс маркер — Serializable или имплементировать интерфейс Externalizable. Это нужно для того, чтобы состояние объекта bean можно надежно сохранять, хранить и восстанавливать.

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java juniorПро виды JavaBeans можно почитать в этом материале.

9. Что такое OutOfMemoryError?

OutOfMemoryError: Java heap space — объект не может быть размещен в куче Java из-за недостатка памяти. Ошибку может вызвать утечка памяти или то, что размер кучи по умолчанию недостаточен для текущего приложения.

OutOfMemoryError: GC Overhead limit exceeded — из-за того, что объем данных едва помещается в кучу, сборщик мусора работает все время, а программа Java работает очень медленно, и как итог — превышается предел накладных расходов сборщика мусора и приложение падает с данной ошибкой.

OutOfMemoryError: Requested array size exceeds VM limit — указывает на то, что приложение попыталось выделить память для массива, размер которого превышает размер кучи, что, опять же может быть из-за недостаточного количества выделенной памяти по умолчанию.

OutOfMemoryError: Metaspace — в куче закончилось место, выделенное для метаданных (метаданные — это инструкции классов, методов).

OutOfMemoryError: request size bytes for reason. Out of swap space — произошел некоторый сбой при попытке выделения памяти из кучи и как итог — нехватка памяти в куче.

Источник

Собеседую программистов на Java. Единый набор вопросов для любого уровня

В своей карьере мне приходилось быть и разработчиком, и менеджером, и даже один раз «CTO» в небольшом стартапе. И, разумеется, приходилось проводить большое количество собеседований кадидатов. Поэтому для себя я выработал такие правила проведения технических собеседований:

Расскажите про HashMap

Да-да, тот самый стандартный вопрос, с которого начинается 50% собеседований. Почему я его задаю? Потому что на него можно ответить очень и очень по разному.

Если будет скучно, замените HashMap на TreeMap.

Напишите SQL.

Ага, и снова «стандартный» вопрос, который 10 лет назад был на каждом собеседовании. Сейчас уже реже, видимо из-за моды на nosql. Но умение работать с данными всегда нужно, и программисты, понимающие декартово произведение, всегда полезнее (и дороже) тех, кто ограничивается общим пересказом учебника.

А вопрос звучит так:

Пусть в базе данных существуют две таблицы: students и groups. У каждого студента указан идентификатор группы group_id, к которой он относится. Напишите SQL-запрос без использования вложенных, выводящий список групп (или количество групп) без единого студента

Правильный ответ будет, разумеется, содержать не просто JOIN, но LEFT JOIN со сравнением значения на NULL. Самое интересное будет поговорить с кандидатом о том, какие ошибки можно допустить при написании запроса, и почему именно запрос не будет работать, если их допустить. Почему нельзя сравнивать с NULL через равенство? Почему не будет работать простой JOIN?

Бонус за индексы, которые ускорят работу этого запроса и за рассмотрение вариантов SQL в разных диалектах (разных СУБД).

Найдите ошибки в коде

Предположим, что вам на code review приходит Pull Request (Merge Request) от другого разработчика. В этом request’е большое количество разных файлов, но один из них выглядит следующим образом (приведён код класса целиком):

Будут ли у вас замечания к этому коду, и если будут, то какие? Пропустите ли вы запрос с таким файлом далее (в master-ветку), или же потребуете переделать, и почему?

Разумеется, и здесь есть как минимум три уровня.

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

Источник

Junior Java Developer – вопросы на собеседовании

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

В этой статье мы рассмотрим 25 наиболее часто встречающихся вопросов на интервью для новичков в программировании на Java. Все это реальные вопросы на собеседовании Java Junior Developer.

Можно ли в Java переопределить статический метод?

Нет, статический метод в Java мы не можем переопределить. Мы можем только скрыть его.

Статический метод в Java не может быть переопределен по таким причинам:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Когда вы запустите программу выше, вы получите следующий результат:

Согласно правилам переопределения методов, вызов метода разрешается во время выполнения по типу object. Таким образом, в нашем примере выше d.hello (), во втором вызове, должен вызывать метод hello () класса DisplayMessage, поскольку ссылочная переменная класса Display ссылается на объект DisplayMessage, но вызывает hello () самого класса Display. Это происходит потому, что выполнение статического метода разрешается во время компиляции.

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

Можно ли выполнить перегрузку метода main() в Java?

Достаточно распространенный по языку Java вопрос на интервью.

Да, вы можете перегрузить метод main() в Java.

В Java можно выполнить перегрузку метода main(), но когда мы запустим нашу программу, JVM будет искать общедоступный статический void main (String [] args) и выполнит этот метод.

Перегрузка метода main() в Java:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Когда вы запустите программу выше, вы получите такой результат:

Видно, что метод main() у нас перегружен, но все же JVM вызывает метод с подписью public static void main (String [] args).

Обратите внимание, что JVM считает var args public static void main (String. args) таким же, как public static void main (String [] args).

Если мы хотим вызвать именно перегруженный метод, то вам нужно вызвать его из метода main с сигнатурой public static void main (String [] args).

Когда вы запустите программу выше, вы получите такой результат:

Как видите, мы вызвали перегруженные методы из main() с помощью аргумента String [].

Можем ли мы в Java переопределить приватные методы?

В Java мы не можем переопределить private методы, так как они видны только классу-владельцу.

Каков базовый класс для всех классов в Java?

Можете ли вы перечислить некоторые важные методы из класса object?

Какие два метода вам нужно переопределить при помещении пользовательского объекта в качестве ключа для HashMap?

Вам нужно будет переопределить методы hashcode() и equals() в пользовательском классе, помещая объекты пользовательского класса в HashMap.

В чем отличия в Java между HashMap и HashSet?

HashMap

В HashMap реализован интерфейс Map, который выполняет сопоставление некого ключа со значением. Он не синхронизирован и не является потокобезопасным. Не допускаются дублирующиеся ключи, а также null ключи и null значения.

Тема связана со специальностями:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

HashSet

В HashSet реализован интерфейс Set, не допускающий дублирования значений. Он не синхронизирован и не является потокобезопасным.

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Выше employeeSet будет иметь 2 элемента, так как Set не допускает повторяющихся значений.
Метод add применяется для добавления элементов в HashSet. Если этот метод возвращает true, тогда элемент добавляется успешно, но, если возвращается false – это значит, что вы пытаетесь вставить дублирующее значение.

HashMap vs HashSet:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Можем ли мы иметь абстрактный класс без какого-либо абстрактного метода в нем?

Да, вы можете иметь абстрактный класс без создания какого-либо абстрактного метода.

Что вы знаете о переменной с модификатором transient? Когда вы будете ее использовать?

Переменные с модификатором transient (нерезидент) применяются при сериализации.

Если вы не хотите делать сериализуемую переменную, вы можете сделать ее переменной с модификатором transient.

Допустим, у вас есть класс Country, и вы не хотите сериализовать атрибут населения, поскольку он будет меняться со временем, поэтому вы можете объявить атрибут населения как transient, и он больше не будет сериализован.

Можете ли вы вызвать метод start() дважды в Java?

Нет, вы не можете вызвать метод start() дважды. Это вызовет llegalStateException.

После того как поток был запущен, он не может быть запущен снова. Если вы попытаетесь снова запустить поток, он выдаст исключение IllegalThreadStateException

Давайте разберемся с помощью примера:

Когда вы запустите программу выше, вы получите такой результат:

Как вы можете видеть, когда мы пытались запустить поток во второй раз, он вызывал исключение IllegalThreadStateException.

Если вы попытаетесь снова запустить поток, он выдаст исключение IllegalThreadStateException

Почему String неизменяемый (immutable) в Java?

В Java класс String неизменяемый. Если вы возьмете словарное значение слова «immutable», это означает, что он не может быть изменен с течением времени, соответственно строка не может быть изменена в Java.

Давайте разберемся с примером.

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Как видите, значение str1 не изменилось. Она создала другой объект String со значением «Hellojava2blog», но не изменил String str1.

Это объясняет, что String является неизменяемым по своей природе.
Теперь давайте разберемся, каковы потенциальные причины сделать String неизменной в Java.

Пул строк:

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

Потокобезопасность:

Неизменяемые объекты по умолчанию являются потокобезопасными, поэтому вам не нужно устанавливать для них синхронизацию, и экземпляр String можно безопасно разделить между несколькими потоками.

Безопасность:

Хэш-значение кэша:

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

Загрузка классов:

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

Знаете ли вы, как сделать класс неизменным (immutable)? Можете ли вы предоставить шаги для этого?

Неизменяемый класс очень прост для понимания, он имеет только одно состояние.

Видео курсы по схожей тематике:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Паттерны проектирования в Java

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Асинхронное программирование в Java

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Unit тестирование в Java с JUnit

Неизменяемые объекты по умолчанию являются потокобезопасными.

Шаги для создания неизменяемого класса:

Если вы вернете клон объекта из метода get, то вернется объект. При этом, ваш оригинальный объект останется без изменений.

Можем ли мы иметь статический метод в интерфейсе?

Да, у нас может быть статический метод в интерфейсе из Java 8.

Можете ли вы объявить конструктор финальным (final)?

Нет, вы не можете объявить конструктор финальным.

В чем разница между StringBuffer и StringBuilder?

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Что такое Java ClassPath?

У вас есть список пользовательских объектов? Как вы можете их отсортировать?

Вам необходимо использовать интерфейс Comparable или Comparator для сортировки списка пользовательских объектов.

Что такое модификатор volatile в Java?

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

Назовите два разных способа вызвать сборщик мусора?

System.gc() или Runtime.getRuntime().gc().

Что такое маркерный интерфейс в Java? Можете ли вы привести несколько примеров маркерного интерфейса?

Сколько объектов будет создано ниже:

Здесь будут созданы три объекта, два в динамической памяти и один в постоянном пуле String.

Можете ли вы провести различие между проверяемым исключением (Checked Exception) и непроверяемым исключением (Unchecked Exceptions)?

Что такое исключение?

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

Что такое проверяемое исключение?

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Используя блок try и catch вы можете поместить код ошибки в блок try и перехватить исключение в блоке catch.

Что такое непроверяемое исключение?

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Если вы выполните код выше вы получите:

В чем разница между ArrayList и LinkedList? Как вы решите, какой из них вам нужно использовать?

Один из распространенных вопросов интервью: «В чем разница между ArrayList и LinkedList». Прежде чем мы действительно увидим различия, давайте кратко рассмотрим оба.

ArrayList:

LinkedList:

Свойство

ArrayList

LinkedList

Внутренняя структура данных

Использует динамический массив для хранения элементов внутри.

Он использует дважды связанный список для внутреннего хранения элементов.

Если нам нужно вставить или удалить элемент в ArrayList, это может занять O(n), так как он использует массив, и нам может потребоваться сместить элементы в случае вставки или удаления.

Если нам нужно вставить или удалить элемент в связанном списке, это займет O(1), так как он внутренне использует двусвязный список.

Поиск в LinkedList идет медленнее, т.к. он использует двусвязанный список. Сложность равна O(n).

ArrayList реализует только интерфейс List, поэтому его можно использовать только как List.

LinkedList реализует интерфейсы List, Deque, поэтому его можно использовать как List, Stack или Queue.

Когда использовать ArrayList и LinkedList?

Это на самом деле зависит от нашей потребности.
Если нам требуется произвести большое количество вставок или удалений, то нам следует использовать LinkedList. Если у нас имеется мало вставок или удалений, но выполняется много поисковых операций, то тогда нам следует использовать ArrayList.

Бесплатные вебинары по схожей тематике:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Что такое Java EE и Java Core

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Первоапрельские соревнования по программированию на C#, Java, C++, Pascal

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Как стать Java разработчиком

В чем разница между wait и sleep в Java?

Один из распространенных вопросов на интервью Java разработчика: «В чем разница между wait и sleep в Java?». Прежде чем мы действительно увидим различия, кратко ознакомимся с обоими.

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

sleep vs wait:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

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

Вы можете использовать Java Thread Join() для достижения этого сценария.

Без использования метода Join:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Когда вы запускаете программу выше, вы получите следующий результат:

С помощью метода Join:

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Когда вы запустите программу выше, вы получите следующий результат:

Как видите, основной поток завершается последним в этом сценарии.

Итоги

Мы с вами рассмотрели 25 распространенных вопросов на собеседовании на должность Junior Java Developer.

Источник

План подготовки к собеседованию на позицию Java разработчика

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

И я намеренно не пишу, для кого предназначен этот план подготовки: для senior, middle или junior разработчика — все зависит от конкретной вакансии и от требований работодателя. Поэтому опирайтесь на этот план, но фильтруйте и в то же время не воспринимайте его как исчерпывающее руководство.

И дам несколько советов от себя.

Лично я всегда ставлю первые 2 собеседования как тренировочные. То есть обычно это компании, которые меня интересуют меньше всего. Эти собеседования нужны просто для того, чтобы войти в ритм и не бояться последующих.

Также будьте готовы рассказать про свой опыт из резюме. Что делали, зачем, какие проблемы решали.

Помните, что вы — не энциклопедия, и не должны сходу перечислить например все функциональные интерфейсы в Java. Будет вполне нормально, если расскажете только про то, с чем работали.

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

А еще хорошая книга — Cracking the Coding Interview. Можно взглянуть, особенно если собираетесь проходить интервью в иностранные компании типа Google, Facebook.

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

Источник

Как выполнять тестовые задания для java- джуниоров/стажеров, чтобы попасть на собеседование

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

У каждой компании своя методика поиска таких кандидатов. Мы, на сегодняшний день, придерживаемся следующей: даем небольшое тестовое задание (около часа работы, для опытного разработчика), для выполнения которого достаточно знаний java-core и просим выложить его на гитхаб. По времени выполнения не ограничиваем. Затем, качественно выполнивших задание соискателей приглашаем на собеседование.

что спрашивают на собеседовании java junior. Смотреть фото что спрашивают на собеседовании java junior. Смотреть картинку что спрашивают на собеседовании java junior. Картинка про что спрашивают на собеседовании java junior. Фото что спрашивают на собеседовании java junior

Задание обычно содержит реализацию CRUD методов в файл через консольное меню с одной-двумя сущностями плюс валидацию некоторых полей. В качестве примера приведу классическую ситуацию с пользователем, которому нужно реализовать валидацию email и телефона, по заданному шаблону и к этому иметь возможность ввести от 1 до 3 телефонов. Откликов приходит очень много, а мест очень мало — соответственно отбор достаточно жесткий.

Начав проверять все задания подряд, выяснилось, что на проверку работоспособности с запуском и фидбеком каждого задания уходит около 30 минут, пришлось пересмотреть методику проверки и вывести критерии для быстрого отсеивания недостаточно качественного кода. К примеру, открыв решение на гитхабе я вижу, что весь код сконцентрирован в нескольких классах да еще и наваленных в одном package — быстрый отказ (как же принципы ООП?).

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

В связи с этим, предлагаю свой список рекомендаций к выполнению тестового задания

Резюме

Решение задачи без ошибок присылает большая половина соискателей, а добротный код — единицы, которые и проходят естественный отбор и попадают в следующий тур. Все исполнители получают фидбек. Те кто написал добротный код, который дошел до запуска — персональный фидбек, те, что прислали спагетти, написанное на коленке — более обобщенный.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *