Скорость доступа к элементам в ArrayList | Собеседование Java Junior #java #mockinterview

preview_player
Показать описание

Техническое собеседование на позицию Junior Java Developer.

Сегодня у нас в гостях Виталий. Он обладает нетехническим образованием - экономист/магистр, с 10-годами опыта работы. Во время работы экономистом познакомился со сферой тестирования, тестировал новые документы и отчеты в 1С. Так вот и начал проявляться интерес к индустрии информационных технологий.

Виталий, успел пройти несколько бесплатных курсов, получил небольшой опыт работы на фрилансе в качестве тестировщика. Однако, для себя он понял, что писать и тестировать свой код куда интереснее. Это и послужило отправной точкой и привело к поиску первого языка программирования. В конечном итоге, Виталий остановился на Java, с которым познакомился на JavaRush. Затем, проходил 9-месячный курс по Java в Берлине.

Закончив курс, написал свой первый пет-проект, а именно банковский микросервис с применением популярного технического стека: REST API, Spring Boot, Hibernate, Liquibase, MySQL, JUnit, Mockito.

На сегодняшний момент, Виталий обладает 2.5-месячным опытом работы в ИТ, в качестве ИТ-волонтера у бывшего работодателя. Там он выполнял небольшие задачами пару раз в неделю на проектах "Автоматизация email-рассылки" и "Парсер электронных писем". Сейчас Виталий активно подтягивает знания по Java, английскому языку, чтобы максимально соответствовать званию "Junior Developer" и претендовать на эту позицию.

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

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

Именно поэтому, Виталий пришел сегодня на мок-собеседование вместе с Максом Добрыниным на канале Jetbulb, чтобы проверить свои знания, оценить свои возможности и быть на шаг впереди, когда наступит пора проходить реальные собеседования для получения своей высокооплачиваемой работы мечты.

Что же, пожелаем Виталию удачи и окунемся в это мок-собеседование вместе!

Погнали!

Получи реальный опыт решения коммерческих задач в Agile команде

Запись на обучение и собеседование:

Мы в социальных сетях:
Рекомендации по теме
Комментарии
Автор

- какая скорость доступа к первому элементу ArrayList?
- Я ебу?

ChimpanzeeUltra
Автор

это из ряда вопросы никогда не пригодятся в работе?

valera
Автор

Очень полезный вопрос на собеседовании, вдруг когда-нибудь без этого знания ArrayList перестанет работать

Mick_Thomson_
Автор

Правильный ответ - зависит от платформы

mikepmov
Автор

Какая скорость доступа цыгана к твоему кошельку на рынке?

Random_iz_chata
Автор

В любом случае ведь будет O (1), разве нет? Когда речь идет о последнем элементе листа, мы всегда знаем его сдвиг относительно 0 элемента, поскольку у нас всегда есть информация о фактическом количестве элементов в листе, в независимости от его размера. O (N) может получится только в случае, когда элементы еще не готовы, например при выполнении некоторых ленивых методов до преобразования коллекции в лист, но тогда и сложность будет не всегда O (N), а в зависимости от сложности этих самых методов и это уже не вопрос сложности операции взятия по индексу

СергейИсаев-ьы
Автор

Любят и по теории погонять, да и минимальное понимание, что лежит на уровне ниже не так уж и плохо. Тут ниче сложного, массив фиксированный размер. Известно место в памяти где начинается массив и где заканчивается, ячейка фиксированного значения, и условно по индексу, в любую ячейку доступ по индексу равнозначен ибо место в памяти вычисляется одной операцией. А доступ к любому месту памяти также равнозначен (вроде смещение в памяти называется, не помню, сильно не смейтесь)

MrChill-rzzc
Автор

Вот просто интересно, хоть раз, хоть кому-то в жизни пригодилось это знание? Это же всё равно в большинстве случаев недетерминированно с точки зрения программиста, если только ты не делаешь какую-то ультра произвольную фичу, где точно знаешь каким именно образом твои элементики разложатся по бакетам в полкапотной имплементации ArrayList. Плюс он не совсем правильно ответил, в худшем случае даже по индексу доступ будет за O(N).

xpoftik
Автор

Не понял, как можно не знать Индекс? Ты же его сам и задаешь.

EdwardNorthwind
Автор

Чел даже не понимает, что спрашивает 🤦‍♂️ какая скорость? Скорость работы зависит от железа.
Доступ к любому элементу arraylist (первому ли, последнему ли или где-то в центре) скорость будет одинаковая: (внутри лежит обычный массив), зависит от железа и может определяться только тестами.

Чувак-сб
Автор

Этот чувак очень не похож на джуна, этот палюбому переучился с плюсов, т.к. надоело в НПО всяких работать, подался к коммерсам.

timatirus
Автор

Процессор, я могу выполнить 2+2 за один такт. Джава, нет, мне нужно 2-1+6/2-8+4+1.5.
Что бы получить то же решение.
Но зато, кроссплатформено.
Вся суть.

DeNzIlDDA
Автор

Ява программисты самые забавные. Очень смешно смотреть. Можно сериал снимать.

АлександрИнженер-дб
Автор

Могу вас обрадовать, даже на собесе на должность сеньёра спрашивают такие вопросы. :)) Это просто жесть.

pesilwoof
Автор

- какая скорость доступа к первому элементу ArrayList?
- Первая космическая

Zvezd
Автор

Превратили IT и разработку в ШОУ. Вопрос обо всем и не о чем. (Намного лучше было спросить, дать данные и выбрать более подходящую коллекцию, а так же попросить объяснить выбор). Или может автор знает альтернативный вариант, когда скорость ArrayList не устраивает по индексу. (Тут только по индексу и есть доступ, только идиот засунет в ArrayList и будет по нему бегать от начала и до конца )

JIockjoy
Автор

Я вообще не понимаю зачем это все знать ? Если ты просто код пишешь как надо и все

SoloLeveing_Twitch
Автор

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

glasderes
Автор

как ребята в комментах недовольны тем, что для работы нужно знать что-то настолько простое 🤣

парни, давайте так: если вы даже это не знаете, то чего вы знаете вообще? можете ручку по гайду с ютуба написать?

ответ на вопрос, кстати, некорректен: если индекс последнего известен, то сложность О(1), если неизвестен, то тоже О(1). тк нам не нужно перебирать элементы для поиска последнего, мы можем написать list.get(list.size() - 1), size() сам по себе имеет константную сложность, так что по итогу и сложность всего алгоритма будет константной. а get по значению это тема уже другая)

chybakazhukov
Автор

попытка посоревноваться кто умнее. на деле заходишь на проект, а там кто во что горазд. Для джуна может и стоит в таком формате собес проводить, но выше, ИМХО лучше спросить просто опыт. Некоторые еще любят загадки позадавать, зачем? Что за детский сад? Во время работы вы тоже так мозги кочкаете, может с тобой еще в настолку сыграть как вы это любите...

mosfett
join shbcf.ru