|
|
Опубликовано 08.01.2019 9:17:25
|
|
|

В этом году поиск работы почти завершился, на самом деле собеседование не было уже месяц или два, я думал об этом или записывал следующие компании, запомнил только те, что могу вспомнить. Моя должность — инженер по исследованиям и разработкам на Java, поэтому она включает все знания в этой области.
Стажировка
1. Morgan Stanley
Первое интервью было с Морганом... Интервьюер очень приятный, и основные вопросы задавались: (1) Представьте проект и расскажите о той части, которую вы сделали (после вступления я понял, что то, что я сделал, было слишком низко, и мне ещё нужно подготовиться) (2) Полиморфизм. В C++ — виртуальные функции, переписывание виртуальных функций в производных классах, как во время выполнения понять, в каком подклассе я работаю? (3) Какие коллекции часто используются в java? A: Список, включая ArrayList и LinkedList. ArrayList реализуется внутри массивов, которые могут изменять длину. LinkedList — это реализация связанного списка и не может быть изменена по длине. Вопрос: Вы имеете в виду, что обычно определяете длину LinkedList, скажем, 10, а затем превышаете её? Ответ: Нет, не обязательно указывать длину LinkedList, если он не определен, то именно машина должна определять, сколько места в LinkedList может освободить максимум. Я просто добавляю данные настолько, насколько нужно. Вопрос: Если операций сложения очень много, с какими проблемами вы столкнётесь? Невозможно добавить для вас неограниченное пространство О: Да... Так что есть определённый диапазон, я думаю, что он должен определяться машиной, сколько места может быть в максимальном LinkedList, 32-битные и 64-битные машины должны отличаться (Менг, на самом деле я не знаю). Вопрос: Есть ли ещё какие-то коллекции, которыми вы регулярно пользуетесь? Ответ: Устанавливайте, в основном HashSet, TreeSet, LinkedHashSet, а затем объясняйте различия между этими тремя Вопрос: Анализируйте сложность HashSets и TreeSet, вставок, поисков и т.д. Ответ: HashSet должен быть связан со своим хешем, если это обычный хеш-код, это может вызвать много конфликтов, поэтому связанный список будет длиннее и будет медленнее проходить по нему при поиске, но вы используете методы оптимизации для решения конфликтов, таких как вторичное обнаружение или что-то подобное, чтобы уменьшить конфликты, это должно быть быстрее, красное и чёрное дерево используется внутри TreeSet, порядок поиска и вставки должен быть O(log(N))... Тогда ещё один вопрос... Я больше не спрашивал.
|
|