Душные вопросы на java-стажировке
1194
79
Хз, какие-то ненужные вопросы для стажера. Автоклоз точно. На самом деле солидарен с тем, что надо на практике показать знания. Я когда собес проходил на джуна, мне задали буквально 3-4 вопроса, а потом дали задачи решать. Теорию можно тупо зазубрить, а задачи уже позволяют понять, шаришь ты или нет
ostermal сказал(а):↑Хз, какие-то ненужные вопросы для стажера. Автоклоз точно. На самом деле солидарен с тем, что надо на практике показать знания. Я когда собес проходил на джуна, мне задали буквально 3-4 вопроса, а потом дали задачи решать. Теорию можно тупо зазубрить, а задачи уже позволяют понять, шаришь ты или нет
Нажмите, чтобы раскрыть...А задачи с литкода типо нельзя зазубрить? Та что ты.
Aragorn_ сказал(а):↑что можно?
Нажмите, чтобы раскрыть...можешь юзать только его в хешкоде и equals без умножений, ибо не понял вопрос твой
но лучше использовать Objects.hash() метод, там уже за тебя все делают
Armagedonby_ZERGS сказал(а):↑А задачи с литкода типо нельзя зазубрить? Та что ты.
Нажмите, чтобы раскрыть...
меняешь условие немного и все, поэтому сложнее, но хз кто зубрит вообще
Aragorn_ сказал(а):↑как создать хэшкод, когда id еще не создан хибером и при этом больше никаких полей нельзя юзать?
Нажмите, чтобы раскрыть...тупой вопрос, не юзай тогда, честно говоря хотелось бы посмотреть на челика, кто юзает ентити как ключ в мапе
к слову, если тебе надо все же как-то работать с уникальными ентити и т.д. (и нет возможности проверять все поля), ты можешь юзать UUID как ключ, а не автоинкремент
Armagedonby_ZERGS сказал(а):↑Так о чем и речь. Что ты зная дефолтные алгоримты будешь решать задачки даже очень высокого уровня сложности. А олимпиадные на математику - тебе давать не будут.
Нажмите, чтобы раскрыть...алгоритмы не так уж и легко знать (имеется ввиду понимать, их свойства и сообразить где применить), попробуй чекни интервью в гугл, ради интереса
AMDkrolyan сказал(а):↑тупой вопрос, не юзай тогда, честно говоря хотелось бы посмотреть на челика, кто юзает ентити как ключ в мапе
к слову, если тебе надо все же как-то работать с уникальными ентити и т.д. (и нет возможности проверять все поля), ты можешь юзать UUID как ключ, а не автоинкремент
алгоритмы не так уж и легко знать (имеется ввиду понимать, их свойства и сообразить где применить), попробуй чекни интервью в гугл, ради интереса
Нажмите, чтобы раскрыть...Но это же гугл.
При том сами ФААНГИ перестали гонять без конца по алгоритмам. По той же причине почему я написал выше. Люди стали просто задротить все ~500 задачек на литкоде, и могут любую "типовую" задачу посчитать с приемлимым исходомм по сложности. А уж про наши конторы, так и смысла говорить нету.
ostermal сказал(а):↑Хз, какие-то ненужные вопросы для стажера. Автоклоз точно. На самом деле солидарен с тем, что надо на практике показать знания. Я когда собес проходил на джуна, мне задали буквально 3-4 вопроса, а потом дали задачи решать. Теорию можно тупо зазубрить, а задачи уже позволяют понять, шаришь ты или нет
Нажмите, чтобы раскрыть...посмотрел недавно на ютубе интервью вкатывальщика на джаве
кринжа невероятная
AMDkrolyan сказал(а):↑тупой вопрос, не юзай тогда, честно говоря хотелось бы посмотреть на челика, кто юзает ентити как ключ в мапе
к слову, если тебе надо все же как-то работать с уникальными ентити и т.д. (и нет возможности проверять все поля), ты можешь юзать UUID как ключ, а не автоинкремент
Нажмите, чтобы раскрыть...Ну например для JoinTable
AMDkrolyan сказал(а):↑к слову, если тебе надо все же как-то работать с уникальными ентити и т.д. (и нет возможности проверять все поля), ты можешь юзать UUID как ключ, а не автоинкремент
Нажмите, чтобы раскрыть...у тебя уже используется autoincrement, ты не можешь просто так заменить это в базе).
UUID как решение, но есть еще в лоб решение = константный hashcode
Aragorn_ сказал(а):↑как создать хэшкод, когда id еще не создан хибером и при этом больше никаких полей нельзя юзать?
Нажмите, чтобы раскрыть...Хэшкод (и сам метод equals) нужен для проверки эквивалентности объекта. Если твоя проверка эквивалентности проверяет непосредственно id - тебе не кажется, что это какая то некорректная проверка? А если именно id является твоим качественным параметром эквивалентности - в чем твоя проблема? Все объекты с id=null (или 0, хз, что там за поле) будут считаться эквивалентными.
Aragorn_ сказал(а):↑А если взять хибере, который генерит первичный ключ и в ентити классе только id является уникальным?
Нажмите, чтобы раскрыть...Если твой предыдущий вопрос об этом, то:
повторюсь, что equals и hashcode - это методы проверки эквивалентности. Если все поля, кроме ид, одного объекта, равны всем полям другого объекта - они эквивалентны, т.е. имеют одинаковое состояние. Привязывать понятие эквивалентности к суррогатному id - это еще надо подумать, надо ли оно тебе в данной задаче.
В любом случае, твой вопрос какой то странный. Каким образом уникальность поля связана с тем, что написал кролян?
pochemyzamenya сказал(а):↑По таймкодам вроде норм вопросы, или там ответчик кринжовый?
А шо нынче у вкатывальщиков на интервью спрашивают?
Нажмите, чтобы раскрыть...ответы)
tDmn/// сказал(а):↑Хэшкод (и сам метод equals) нужен для проверки эквивалентности объекта. Если твоя проверка эквивалентности проверяет непосредственно id - тебе не кажется, что это какая то некорректная проверка? А если именно id является твоим качественным параметром эквивалентности - в чем твоя проблема? Все объекты с id=null (или 0, хз, что там за поле) будут считаться эквивалентными.
Нажмите, чтобы раскрыть...т.е. по твоему Person(id=null, name"tDmn).equals(Person(id=null, name"Aragorn") должно быть == true?, потому что hashcode берется от null?(т.е. 0)
Aragorn_ сказал(а):↑Ну например для JoinTable
Нажмите, чтобы раскрыть...ОМГ, JoinTable это аннотация, которая имя таблицы принимает для соединения, где ты тут хешкод используешь?
Aragorn_ сказал(а):↑UUID как решение, но есть еще в лоб решение = константный hashcode
Нажмите, чтобы раскрыть...Надеюсь, ты нигде это не сделаешь, кроме своих пет проектов...
Aragorn_ сказал(а):↑т.е. по твоему Person(id=null, name"tDmn).equals(Person(id=null, name"Aragorn") должно == true?
Нажмите, чтобы раскрыть...По моему данная проверка не должна сравнивать ид вообще. Она должна сравнивать либо имя, либо имя+ид, если у тебя могут быть 2 юзера с одинаковым именем. Только второй случай уже попахивает.
Еще раз прочитай "А если именно id является твоим качественным параметром эквивалентности - в чем твоя проблема? Все объекты с id=null (или 0, хз, что там за поле) будут считаться эквивалентными." Если твоя логика подразумевает именно проверку id - ты сам такую логику придумал (UPD: т.е., если твоя логика подразумевает, что 2 объекта с одинаковым id эквивалентны).
Я же про это мягко намекнул "Если твоя проверка эквивалентности проверяет непосредственно id - тебе не кажется, что это какая то некорректная проверка?"
UPD: Эквивалентность != идентичность.
tDmn/// сказал(а):↑ОМГ, JoinTable это аннотация, которая имя таблицы принимает для соединения, где ты тут хешкод используешь?
Нажмите, чтобы раскрыть...В чем проблема? У тебя может быть Map< Entity, Enitity >.
У тебя может быть HashSet< Entity >, где будет использоваться твой hashcode...
tDmn/// сказал(а):↑Надеюсь, ты нигде это не сделаешь, кроме своих пет проектов...
Нажмите, чтобы раскрыть...Что именно?
tDmn/// сказал(а):↑По моему данная проверка не должна сравнивать ид вообще. Она должна сравнивать либо имя, либо имя+ид, если у тебя могут быть 2 юзера с одинаковым именем. Только второй случай уже попахивает.
Еще раз прочитай "А если именно id является твоим качественным параметром эквивалентности - в чем твоя проблема? Все объекты с id=null (или 0, хз, что там за поле) будут считаться эквивалентными." Если твоя логика подразумевает именно проверку id - ты сам такую логику придумал.
Я же про это мягко намекнул "Если твоя проверка эквивалентности проверяет непосредственно id - тебе не кажется, что это какая то некорректная проверка?"
Нажмите, чтобы раскрыть...Я тебе дал условие - ентити имеет только id в виде unique значения, значит id(которое null) + любое поле дает в любом случае большой шанс совпадения хэшкодов, но при этом не управляемое(значит безсмысленное).
Если хэшкоды равны это не гарантирует то, что объекты равны, почитай контракты equals and hashcode.
Поэтому в хибернейте есть такое решение(оно суперредкое и относительное мемное), что есть смысл установить константное int значение hashcode. И если использовать это с умом, не набивая хэшмапу миллионами данных(а например туда записывать до 10 объектов), чтобы сильно не повлиять на перформанс, тогда все будет ок.
tDmn/// сказал(а):↑Я же про это мягко намекнул "Если твоя проверка эквивалентности проверяет непосредственно id - тебе не кажется, что это какая то некорректная проверка?"
Нажмите, чтобы раскрыть...С каких пор проверка эквивалентности по id не корректна?) Это уникальное значение
Габен задушил сказал(а):↑Не лезь, оно тебя сожрет. Ты выбрал язык с самой высокой планкой вката на работу и жалуешься на это. Да наизусть нужно знать тонны информации и пока ты не выучишь, тебя не возьмут. Сфера применения джава просто не может позволить, чтоб левый Васян влез в какие-то банки и там все сломал.
Нажмите, чтобы раскрыть...Уахаха джава с высокой планкой? Это самый простой язык программирования из всех что сейчас востребованы
Pudgewerksaw сказал(а):↑Джава максимально консервативна там нет никаких суперфич, да там вообще ничего нет. Программист на любом языке может читать java код, ибо это максимально минималистичный язык где нет ничего лишнего.
Нажмите, чтобы раскрыть...Ну да ты прав.
1. В том, что джава читабельней большинства языков
Минималистичный язык, че за кринж ты написал?
Конечно, если сравнивать с С++ - минималистичный. Если сравнивать со всеми частоиспользуемыми - JS, Go, PHP, Python, так это они минималистичны, а не Джава.
И если ты по такому принципу определяешь сложность языка и его стэка, то удачи остаться вкатывальщиком без работы))0
Aragorn_ сказал(а):↑посмотрел недавно на ютубе интервью вкатывальщика на джаве
кринжа невероятная
Ну например для JoinTable
у тебя уже используется autoincrement, ты не можешь просто так заменить это в базе).
UUID как решение, но есть еще в лоб решение = константный hashcode
Нажмите, чтобы раскрыть...
Если у тебя join значит у тебя уже есть id
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:4
Просмотров:5
-
Сообщений:5
Просмотров:5
-
Степа Ни 19 Apr 2024 в 07:18Сообщений: 3 19 Apr 2024 в 07:18
Сообщений:3
Просмотров:4
-
Сообщений:19
Просмотров:20
-
Сообщений:7
Просмотров:8