Java Interview Questions (DevOps)

User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

Ann4Ann wrote: 05 Feb 2022 20:34
Big W wrote: 05 Feb 2022 20:26
Ann4Ann wrote: 05 Feb 2022 03:48 ...знание, как реально работает хэшмап и почему доступ О(1) сразу плюс...
Кмк, О(1) это оптимистический вариант, для worst case scenario (когда хэш-функция никудышная) будет О(n), нет?
нет)
Хм, погуглил, пишут, что все-таки О(n), см. например https://stackoverflow.com/questions/816 ... et-hashmap
in the worst case your hash map will degenerate into a linked list and you will suffer an O(N) penalty for lookups, as well as inserts and deletions
Примечание: можно улучшить до O(log(n)), но надо, чтобы key тип имплементировал Comparable
There are some ways of mitigating the worst-case behavior, such as by using a self-balancing tree instead of a linked list for the bucket overflow - this reduces the worst-case behavior to O(logn)
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Java Interview Questions (DevOps)

Post by Херовимчик »

Big W wrote: 05 Feb 2022 21:33
Ann4Ann wrote: 05 Feb 2022 20:34
Big W wrote: 05 Feb 2022 20:26
Ann4Ann wrote: 05 Feb 2022 03:48 ...знание, как реально работает хэшмап и почему доступ О(1) сразу плюс...
Кмк, О(1) это оптимистический вариант, для worst case scenario (когда хэш-функция никудышная) будет О(n), нет?
нет)
Хм, погуглил, пишут, что все-таки О(n), см. например https://stackoverflow.com/questions/816 ... et-hashmap
in the worst case your hash map will degenerate into a linked list and you will suffer an O(N) penalty for lookups, as well as inserts and deletions
Примечание: можно улучшить до O(log(n)), но надо, чтобы key тип имплементировал Comparable
There are some ways of mitigating the worst-case behavior, such as by using a self-balancing tree instead of a linked list for the bucket overflow - this reduces the worst-case behavior to O(logn)
В чем ценность Хэшмэпа с одинаковыми хэшами? Если такое случается, то либо вы не правильно подобрали структуру данных для вашей задачи, либо ваш способ генерации ключей далёк от оптимального
User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

valchkou wrote: 05 Feb 2022 21:19 ... насколько я помню из дошкольного курса природоведения, arrayList.set(10, "here-here") создаст новый массив и скопирует в него старый.
Хотя в последних версиях возможно и это оптимизировано уровнем ниже так что попросту расширяется старый, а новый даже не создается.
...
Имхо, все-таки создается новый (расширить массив нельзя, fixed size) но с достаточным capacity "на вырост", чтобы хватило на добавление еще нескольких элементов.
Наверное если добавлять в ArrayList 1000000 элементов по одному, то внутри него придется создавать новый массив довольно часто, и это скажется на производительности. Не уверен, не пробовал.
User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

Херовимчик wrote: 05 Feb 2022 21:39 В чем ценность Хэшмэпа с одинаковыми хэшами? Если такое случается, то либо вы не правильно подобрали структуру данных для вашей задачи, либо ваш способ генерации ключей далёк от оптимального
Разумеется никакого, вопрос был чисто теоретический относительно worst case scenario.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Java Interview Questions (DevOps)

Post by Херовимчик »

Big W wrote: 05 Feb 2022 21:50
Херовимчик wrote: 05 Feb 2022 21:39 В чем ценность Хэшмэпа с одинаковыми хэшами? Если такое случается, то либо вы не правильно подобрали структуру данных для вашей задачи, либо ваш способ генерации ключей далёк от оптимального
Разумеется никакого, вопрос был чисто теоретический относительно worst case scenario.
Ну все же когда обсуждают эффективность (Big O notation) подразумевают либо теоретическое значение, либо оценка конкретной имплементации. В теории, доступ для хэшмэп О(1), на практике - нет предела криворукости :umnik1:
User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

Херовимчик wrote: 05 Feb 2022 22:00
Big W wrote: 05 Feb 2022 21:50
Херовимчик wrote: 05 Feb 2022 21:39 В чем ценность Хэшмэпа с одинаковыми хэшами? Если такое случается, то либо вы не правильно подобрали структуру данных для вашей задачи, либо ваш способ генерации ключей далёк от оптимального
Разумеется никакого, вопрос был чисто теоретический относительно worst case scenario.
Ну все же когда обсуждают эффективность (Big O notation) подразумевают либо теоретическое значение, либо оценка конкретной имплементации. В теории, доступ для хэшмэп О(1), на практике - нет предела криворукости :umnik1:
Теоретическое значение обычно подразделяют на несколько типов - Best, Average, Worst, см. например https://www.bigocheatsheet.com/
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Java Interview Questions (DevOps)

Post by Херовимчик »

Big W wrote: 05 Feb 2022 22:10
Херовимчик wrote: 05 Feb 2022 22:00
Big W wrote: 05 Feb 2022 21:50
Херовимчик wrote: 05 Feb 2022 21:39 В чем ценность Хэшмэпа с одинаковыми хэшами? Если такое случается, то либо вы не правильно подобрали структуру данных для вашей задачи, либо ваш способ генерации ключей далёк от оптимального
Разумеется никакого, вопрос был чисто теоретический относительно worst case scenario.
Ну все же когда обсуждают эффективность (Big O notation) подразумевают либо теоретическое значение, либо оценка конкретной имплементации. В теории, доступ для хэшмэп О(1), на практике - нет предела криворукости :umnik1:
Теоретическое значение обычно подразделяют на несколько типов - Best, Average, Worst, см. например https://www.bigocheatsheet.com/
Безусловно даже в теории есть оценка для всех сценариев. Главное выяснить что от вас нужно конкретному интервьюеру :-)
Ann4Ann
Уже с Приветом
Posts: 1239
Joined: 14 Nov 2002 23:02
Location: S.Peterburg, Russia -->SoFla

Re: Java Interview Questions (DevOps)

Post by Ann4Ann »

valchkou wrote: 05 Feb 2022 21:19....
ну во, все хорошо. на самом деле интересен не какой то правильный ответ, а как человек начнет рассуждать и какие доводы приводить. при этом не так уж важно в какую сторону его занесет. хотя, если уж переходим на личности, конкретно Вам я б поставила жирный плюс, если б вы мне про concurrent map/set ответили, что вопрос смешной), он действительно несколько потешный.
Ann4Ann
Уже с Приветом
Posts: 1239
Joined: 14 Nov 2002 23:02
Location: S.Peterburg, Russia -->SoFla

Re: Java Interview Questions (DevOps)

Post by Ann4Ann »

Херовимчик wrote: 05 Feb 2022 22:00 ...
В теории, доступ для хэшмэп О(1), на практике - нет предела криворукости :umnik1:
йеп.
на самом деле, если говорить не про беседы с недавними студентами, то все эти достаточно простые разговоры про базовые структуры и их конкретные имплементации дают прощупать почву сможем ли мы с этим человеком сработаться. насколько кандидат уперто гнет свою линию и сколько он прилагает усилий для того, чтоб вообще понять о чем разговор. ну и какие доводы он приводит чтоб, например, меня убедить в его точке зрения. потому что тех, кто 20 лет перекладывает поля из одного джавабина в другой отсеивают раньше, а если человек больше 10 лет в индустрии, то уж как то он поднатаскался худо бедно... но может случиться так, что мы с ним не сработаемся. или что он с нами не сработается. вот хочется сэкономить друг другу время и ресурсы.
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Java Interview Questions (DevOps)

Post by dama123 »

Я иногда спрашиваю про epsilon GC. Я обьясняю что это тем кто не знает и спрашиваю зачем такое может быть нужно
JEP 318 explains that “[Epsilon] … handles memory allocation but does not implement any actual memory reclamation mechanism. Once the available Java heap is exhausted, the JVM will shut down.”

So, this explains why our application terminated with an OutOfMemoryError.

But, it raises the question: Why do we need to have a garbage collector, that doesn't collect any garbage?
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Java Interview Questions (DevOps)

Post by dama123 »

Big W wrote: 05 Feb 2022 21:33
Ann4Ann wrote: 05 Feb 2022 20:34
Big W wrote: 05 Feb 2022 20:26
Ann4Ann wrote: 05 Feb 2022 03:48 ...знание, как реально работает хэшмап и почему доступ О(1) сразу плюс...
Кмк, О(1) это оптимистический вариант, для worst case scenario (когда хэш-функция никудышная) будет О(n), нет?
нет)
Хм, погуглил, пишут, что все-таки О(n), см. например https://stackoverflow.com/questions/816 ... et-hashmap
in the worst case your hash map will degenerate into a linked list and you will suffer an O(N) penalty for lookups, as well as inserts and deletions
Примечание: можно улучшить до O(log(n)), но надо, чтобы key тип имплементировал Comparable
There are some ways of mitigating the worst-case behavior, such as by using a self-balancing tree instead of a linked list for the bucket overflow - this reduces the worst-case behavior to O(logn)
+1 to Big W
-1 Ann4Ann
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: Java Interview Questions (DevOps)

Post by Херовимчик »

Коль уж тема про ДевОпсов, какие вообще от них ожидания? Скажем так, какой процент времени ДевОпсы тратят на написание кода и какого уровня задачи решают на повседневной основе?
nyekimov
Уже с Приветом
Posts: 2761
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Java Interview Questions (DevOps)

Post by nyekimov »

Херовимчик wrote: 05 Feb 2022 23:51 Коль уж тема про ДевОпсов, какие вообще от них ожидания? Скажем так, какой процент времени ДевОпсы тратят на написание кода и какого уровня задачи решают на повседневной основе?
А у вас на фирме таковых вообще не имеется? Мне кажется надо понимать в рамках конкретной компании. У нас такие занимаются автоматизацией и управлением ci/cd pipeline. Плюс написание скриптов за наблюдением за серверами. Ну и наблюдение за разного рода серверами. Если что то летит, то перенаправлять трафик, поднимать. Выяснять причины и где возможно автоматизировать.

Очень странно звучит вопрос, менеджер хочет нанять ресурс. Но не знает, зачем такой ресурс нужен вообще. Ну или может я не слежу за ситуацией. И что то пропустил.
User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

В моем (возможно неправильном) понимании девопсов они вообще код не пишут, в основном пишут всякие конфигурации на yaml и гоняют команды в linux терминале.
User avatar
Big W
Уже с Приветом
Posts: 920
Joined: 22 Jun 2007 20:41
Location: Santa Rosita

Re: Java Interview Questions (DevOps)

Post by Big W »

Вот, кстати, у этой женщины хорошие видео на тему инфраструктуры и пр., как раз свежее видео "What is DevOps? REALLY understand it | DevOps vs SRE" (надо бы и самому посмотреть)
phpBB [video]

Return to “Работа и Карьера в IT”