Connect with us

Разработка

Самые трудные вопросы на собеседовании, которые вам задавали — Обсуждение на Reddit

Вы согласны или не согласны с тем, что в Kotlin мы можем заменить паттерн Строитель на классы данных?

Опубликовано

/

     
     

Новое интересное обсуждение на Reddit — вопросы по Android (и не только) разработке, которые задавались на собеседовании:

Я начну. Самый странный вопрос, который мне задавали, был, пожалуй, таким:

Вы согласны или не согласны с тем, что в Kotlin мы можем заменить паттерн Строитель на классы данных?

Я ответил какую-то белиберду, но правильным ответом было то, что паттерн Builder по-прежнему очень полезен, когда мы хотим инициализировать сложные объекты.

Вот еще некоторые интересные вопросы с собеседований:

  • Сейчас 16:55 пятницы, большинство ваших коллег разъехались по домам на длинные выходные, а ваш босс ушел в отпуск, но доступен только в экстренных случаях. Сервер падает. Что вы будете делать? (да, этот вопрос был задан для должности мобильного разработчика)
  • Оцените количество автомобилей в [стране]. Вот и все, вот и весь вопрос. Пытаюстся нанять Энрико Ферми на младшую должность.
    • Довольно сложный вопрос для джуниора, но если вы хотите узнать, как на него ответить, возьмите книгу Льюиса Лина «Decode and Conquer». Цель состоит в том, чтобы получить ПОЧТИ точный ответ, не требующий большого количества информации, поскольку вам придется делать это много раз, будучи инженером.
  • Создайте свою собственную реализацию BigInteger (это было для работы в Amazon в далеком прошлом).
  • Опишите случай, когда вы продвигали хорошую идею джуниор-разработчика. Я не могу описать, как сильно я ненавижу подобные вопросы и как плохо умею на них отвечать.
  • Как бы вы разработали DI-фреймворк. В конце концов я получил эту работу, но зарплата была меньше, чем моя нынешняя. Я, естественно, отказался.
  • Пожалуйста, опишите, как вы создадите надежный сервис потоковой передачи музыки с глобально низкой задержкой и высокой доступностью. В список вопросов были включены как клиентская часть, так и бэкэнд. Это собеседование длилось час, и я не помню почти ничего из того, что было потом, но, видимо, я сказал что-то правильное, и меня взяли на работу.
  • Что-то в духе «почему стоит использовать MVVM — вместо MVP, MVC». Проблема была в том, что я изучал Android в 2020 году, когда MVVM уже был рекомендованным архитектурным паттерном.
  • Как бы вы реализовали свою собственную viewModel без какой-либо другой библиотеки.
    • Если кому интересно: получаем или создаем его в onCreate с getLastNonConfigurationInstance, возвращаем в onRetainNonConfigurationInstance, избавляемся в onDestroy, если isChangingConfigurations возвращает false.
  • В чем ваша самая большая слабость? Не знаю… Шоколад? Мне нравится фокусироваться на самосовершенствовании, а не зацикливаться на своих слабостях. Конечно, в чем-то я слаб, но в чем-то могу быть замечательным и при этом стараться учиться. Я не получил эту работу, потому что не смог определить свои слабые стороны.
  • Определите, сколько последовательностей двоичных единиц находится внутри целого числа. Например, если задано 5, то на выходе получится 2. Поскольку в двоичном исчислении это 101. Я и по сей день не знаю, как решить эту задачу. Возможно, это задача с Leetcode с решением, но я просто ухожу от того, чтобы когда-либо узнать эти ответы.

 

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: