powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы на собеседовании
25 сообщений из 149, страница 5 из 6
Вопросы на собеседовании
    #39759715
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПылинкаА зачем тогда вообще проверять знание SQL? Его аналогично можно "изучить". Аналогично можно "за неделю изучить" множество разных вещей.Как это для чего? чтобы начать общаться, например, в этом топике никто так и не смог привести правильный ответ: все приведенные запросы могут как удалить "не дубликаты", так и не удалить дубликаты, просто потому, что в базу доступ обычно конкурентный.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759717
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите. Само по себе знание SQL назубок никому не нужно. Пускай этим бравируют
ребята в топика Oracle по пятницам.

Мне кажется на собесе важно увидеть как человек рассуждает когда он видит проблему.
Какие он видит пути решения.

По сути даже если не знает как группировать - пускай нарисует цикл или алгоритм на императивном
языке. Если нарисует - значит 99% понимает. Это важно.

А зубрёжка SQL - это дело практики.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759725
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловПылинкаА зачем тогда вообще проверять знание SQL? Его аналогично можно "изучить". Аналогично можно "за неделю изучить" множество разных вещей.Как это для чего? чтобы начать общаться, например, в этом топике никто так и не смог привести правильный ответ: все приведенные запросы могут как удалить "не дубликаты", так и не удалить дубликаты, просто потому, что в базу доступ обычно конкурентный.

а какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял.
Если вы про уровень изоляции транзакции типа READ COMMITED, то это режим по умолчанию для баз, а AutoCommit нынче стоит по умочланию в большинстве реализаций jdbc драйверов.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759731
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверина какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял.Ну а "после" тут причем? вот вы в delete завязались на то, что удаляете все что не min/max, какие гарантии что в соседней сессии кто-то этот самый min/max не удалит?
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759734
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверина какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял.Ну а "после" тут причем? вот вы в delete завязались на то, что удаляете все что не min/max, какие гарантии что в соседней сессии кто-то этот самый min/max не удалит?

там, где having count(id)>1 - таким.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759738
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинтам, где having count(id)>1 - таким.это как? вот вы запустили свой убер-delete, в соседней сессии ваш min/max удалили, ваша транзакция этот min/max все еще видит, что получаем на выходе? удаленный "недубликат".
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759758
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинтам, где having count(id)>1 - таким.это как? вот вы запустили свой убер-delete, в соседней сессии ваш min/max удалили, ваша транзакция этот min/max все еще видит, что получаем на выходе? удаленный "недубликат".

похожее поведение будет и без аналитических функций, если кто-то не удалит, а вставит данные. А если кто то параллельно удалить ваши данные, а кто-то еще параллельно вставит их - так поведение и вовсе будет полностью аналогичным. Тут можно придумать что угодно, но это не решается на уровне запроса - это решается на уровне логики приложения или конкретной СУБД.

В общем случае - это решается блокировкой таблицы, но это также не относится к запросу, а только к реализации или логики приложению.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759815
Ilya007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:

Что не так с методом? и почему.

public boolean equalsMethod(String a){

return a.equals("String");
}
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759822
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007,

Потенциальный NPE.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759826
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это проблема?
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759834
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTэто проблема?
Это не проблема. Это просто code review point.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759886
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:
Что не так с методом? и почему.
public boolean equalsMethod(String a){
return a.equals("String");
}
Это что еще за ахтунг!!? )))
ну фиг с ним нуллПоинтерЭксепшеном) ревертнём икьюалс и избавимся от него.
Но что этот метод вообще за ерунду делает?)
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759905
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Второй поинт это Naming convention.

Название метода должно говорить о сути.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759917
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, надо его назвать иквалз и заоверрайдить
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759918
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicIlya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:
Что не так с методом? и почему.
public boolean equalsMethod(String a){
return a.equals("String");
}
Это что еще за ахтунг!!? )))
ну фиг с ним нуллПоинтерЭксепшеном) ревертнём икьюалс и избавимся от него.
Но что этот метод вообще за ерунду делает?)
нормально всё. там чуть выше вон даблы на переполнение проверяют сравниванием дабл==дабл+1
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759924
Ilya007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonIlya007,

Потенциальный NPE.

Это верный ответ.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759928
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007,

юзай опшн
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759931
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:

Что не так с методом? и почему.

public boolean equalsMethod(String a){

return a.equals("String");
}
Правильный ответ - этот метод нах не нужен
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759954
Фотография Dr.Hofmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:

Что не так с методом? и почему.

public boolean equalsMethod(String a){

return a.equals("String");
}

А в чем прикол ? Проверки на null нету ?
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759957
Ilya007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr.HofmannIlya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал:

Что не так с методом? и почему.

public boolean equalsMethod(String a){

return a.equals("String");
}

А в чем прикол ? Проверки на null нету ?

Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759967
Фотография Dr.Hofmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007Dr.Hofmannпропущено...


А в чем прикол ? Проверки на null нету ?

Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.

Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ?
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759983
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr.HofmannIlya007пропущено...


Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.

Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ?
Это из за того что любой вызов метода объекта предполагает что объект не пуст.
И этой проблеме - более полу-века лет. О ней писал Тони Хоар в шестидесятых.
Проблему обозвали ошибкой ценой в миллиард.

И спустя пол-века программисты продолжают писать код где эта ошибка
воспроизводится.

Или по крайней мере не доказывается ее невозможность.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759989
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya007Dr.Hofmannпропущено...


А в чем прикол ? Проверки на null нету ?

Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.
не согласен.
считаю что там где ты не ожидаешь никогда увидать нпе ты не должен его хендлить.
если придет нпе и ты сделаешь так как нужно делать всегда то ты вместо нпе вообще получишь фолс который пробросится дальше и алга лови жуков в самых необычных местах.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759991
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr.HofmannIlya007пропущено...


Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.

Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ?
что такое тип хранения стрингпула? что за строки а не объекты? объекты это тоже строки. стрингпул это тоже объект. можно ли сравнивать стрингпул со стрингой -> нет. Уважаемый Майтон уже сказал почему.
...
Рейтинг: 0 / 0
Вопросы на собеседовании
    #39759992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTIlya007пропущено...


Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);.
не согласен.
считаю что там где ты не ожидаешь никогда увидать нпе ты не должен его хендлить.
если придет нпе и ты сделаешь так как нужно делать всегда то ты вместо нпе вообще получишь фолс который пробросится дальше и алга лови жуков в самых необычных местах.
Это спор о цене последствий.
...
Рейтинг: 0 / 0
25 сообщений из 149, страница 5 из 6
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы на собеседовании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]