Подборка объединяет вопросы, отмеченные на этапах интервью в ВК. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: frontend, browser, mobile.
В Java используется сборщик мусора (Garbage Collector, GC), который автоматически управляет памятью, освобождая неиспользуемые объекты. В современных версиях JVM применяется несколько механизмов сборки мусора, например:
Для написания JUnit тестов для класса RecommenderServiceImpl нужно покрыть основные сценарии работы сервиса: получение рекомендаций, обработку ошибок, работу с пустыми данными и т.п.
Указатель — это переменная, которая хранит адрес в памяти, указывающий на расположение другого объекта или значения. В Java явных указателей нет, так как язык управляет ссылками на объекты автоматически.
Коллизии возникают, когда два разных элемента получают одинаковое значение в некоторой системе (например, одинаковый хэш-код в хэш-таблице). Для предотвращения или разрешения коллизий применяются разные методы:
Средняя (амортизированная) алгоритмическая сложность — это оценка времени работы алгоритма, усреднённая по всем возможным входным данным или по последовательности операций.
Deadlock — это ситуация в многопоточном приложении, когда два или более потоков навсегда блокируют друг друга, ожидая освобождения ресурсов, которые захвачены другими потоками.
В прошлой компании я успешно реализовал несколько ключевых функций для iOS-приложения, что повысило удобство пользователей и улучшило показатели удержания.