Вчера я присутствовал на интервью в одной ведущей ИТ-компании. Техническое интервью было хорошим, никаких проблем, затем я перешел на другой набор раундов "Управление, дизайн и процесс". Я ответил на все, кроме вопроса ниже.
Вопрос, заданный интервьюером:
Скажем, вы разрабатываете класс, который я собираюсь использовать в своих класс, расширяя это, каковы ключевые моменты, которые вы держите в разум? Ex, класс A, который имеет метод под названием "метод A", возвращает коллекцию, скажем, "список". Какие меры предосторожности вы предпримете?
Мой ответ: следующие пункты, которые я рассмотрю, например:
- Класс и метод должны быть общедоступными.
- Метод 1 возвращает список, тогда это должно быть дженериками. Таким образом, мы можем избежать исключения класса cast
- Если этот класс будет доступен в многопоточной среде, этот метод необходимо синхронизировать.
Но интервьюер не был убежден в моих замечаниях. Он ожидал от меня другого ответа, но я не могу понять, что он задумал.
Поэтому, пожалуйста, предоставьте свои предложения.