|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
ПылинкаА зачем тогда вообще проверять знание SQL? Его аналогично можно "изучить". Аналогично можно "за неделю изучить" множество разных вещей.Как это для чего? чтобы начать общаться, например, в этом топике никто так и не смог привести правильный ответ: все приведенные запросы могут как удалить "не дубликаты", так и не удалить дубликаты, просто потому, что в базу доступ обычно конкурентный. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 12:26 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Смотрите. Само по себе знание SQL назубок никому не нужно. Пускай этим бравируют ребята в топика Oracle по пятницам. Мне кажется на собесе важно увидеть как человек рассуждает когда он видит проблему. Какие он видит пути решения. По сути даже если не знает как группировать - пускай нарисует цикл или алгоритм на императивном языке. Если нарисует - значит 99% понимает. Это важно. А зубрёжка SQL - это дело практики. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 12:39 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Андрей ПанфиловПылинкаА зачем тогда вообще проверять знание SQL? Его аналогично можно "изучить". Аналогично можно "за неделю изучить" множество разных вещей.Как это для чего? чтобы начать общаться, например, в этом топике никто так и не смог привести правильный ответ: все приведенные запросы могут как удалить "не дубликаты", так и не удалить дубликаты, просто потому, что в базу доступ обычно конкурентный. а какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял. Если вы про уровень изоляции транзакции типа READ COMMITED, то это режим по умолчанию для баз, а AutoCommit нынче стоит по умочланию в большинстве реализаций jdbc драйверов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 13:02 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Озверина какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял.Ну а "после" тут причем? вот вы в delete завязались на то, что удаляете все что не min/max, какие гарантии что в соседней сессии кто-то этот самый min/max не удалит? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 13:12 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверина какой правильный запрос может гарантированно удалить все дубликаты, которые появятся после? Я чего то не понял.Ну а "после" тут причем? вот вы в delete завязались на то, что удаляете все что не min/max, какие гарантии что в соседней сессии кто-то этот самый min/max не удалит? там, где having count(id)>1 - таким. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 13:14 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Озверинтам, где having count(id)>1 - таким.это как? вот вы запустили свой убер-delete, в соседней сессии ваш min/max удалили, ваша транзакция этот min/max все еще видит, что получаем на выходе? удаленный "недубликат". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 13:34 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинтам, где having count(id)>1 - таким.это как? вот вы запустили свой убер-delete, в соседней сессии ваш min/max удалили, ваша транзакция этот min/max все еще видит, что получаем на выходе? удаленный "недубликат". похожее поведение будет и без аналитических функций, если кто-то не удалит, а вставит данные. А если кто то параллельно удалить ваши данные, а кто-то еще параллельно вставит их - так поведение и вовсе будет полностью аналогичным. Тут можно придумать что угодно, но это не решается на уровне запроса - это решается на уровне логики приложения или конкретной СУБД. В общем случае - это решается блокировкой таблицы, но это также не относится к запросу, а только к реализации или логики приложению. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 14:10 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 15:08 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007, Потенциальный NPE. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 15:19 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
это проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 15:22 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
andreykaTэто проблема? Это не проблема. Это просто code review point. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 15:31 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } Это что еще за ахтунг!!? ))) ну фиг с ним нуллПоинтерЭксепшеном) ревертнём икьюалс и избавимся от него. Но что этот метод вообще за ерунду делает?) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 16:47 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Да. Второй поинт это Naming convention. Название метода должно говорить о сути. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:07 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
да, надо его назвать иквалз и заоверрайдить ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:33 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
NixicIlya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } Это что еще за ахтунг!!? ))) ну фиг с ним нуллПоинтерЭксепшеном) ревертнём икьюалс и избавимся от него. Но что этот метод вообще за ерунду делает?) нормально всё. там чуть выше вон даблы на переполнение проверяют сравниванием дабл==дабл+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:34 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
maytonIlya007, Потенциальный NPE. Это верный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:40 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007, юзай опшн ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:42 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } Правильный ответ - этот метод нах не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 17:45 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } А в чем прикол ? Проверки на null нету ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 18:23 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Dr.HofmannIlya007Я так думаю лучше вот такой вопрос задать - сразу видно, что человек писал на JAVA, а не книжку прочитал: Что не так с методом? и почему. public boolean equalsMethod(String a){ return a.equals("String"); } А в чем прикол ? Проверки на null нету ? Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 18:28 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007Dr.Hofmannпропущено... А в чем прикол ? Проверки на null нету ? Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 18:52 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Dr.HofmannIlya007пропущено... Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ? Это из за того что любой вызов метода объекта предполагает что объект не пуст. И этой проблеме - более полу-века лет. О ней писал Тони Хоар в шестидесятых. Проблему обозвали ошибкой ценой в миллиард. И спустя пол-века программисты продолжают писать код где эта ошибка воспроизводится. Или по крайней мере не доказывается ее невозможность. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 19:58 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Ilya007Dr.Hofmannпропущено... А в чем прикол ? Проверки на null нету ? Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. не согласен. считаю что там где ты не ожидаешь никогда увидать нпе ты не должен его хендлить. если придет нпе и ты сделаешь так как нужно делать всегда то ты вместо нпе вообще получишь фолс который пробросится дальше и алга лови жуков в самых необычных местах. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 20:11 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
Dr.HofmannIlya007пропущено... Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. Это из-за типа хранения стринг пула в случае "String", где храняться строки а не объекты поэтому NPE не выбрасывается? Так ? что такое тип хранения стрингпула? что за строки а не объекты? объекты это тоже строки. стрингпул это тоже объект. можно ли сравнивать стрингпул со стрингой -> нет. Уважаемый Майтон уже сказал почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 20:13 |
|
Вопросы на собеседовании
|
|||
---|---|---|---|
#18+
andreykaTIlya007пропущено... Может прийти null и тогда на методе a.equals - сломается (NPE). Нужно писать всегда так "String".equals(a);. не согласен. считаю что там где ты не ожидаешь никогда увидать нпе ты не должен его хендлить. если придет нпе и ты сделаешь так как нужно делать всегда то ты вместо нпе вообще получишь фолс который пробросится дальше и алга лови жуков в самых необычных местах. Это спор о цене последствий. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2019, 20:20 |
|
|
start [/forum/topic.php?fid=59&msg=39759983&tid=2121531]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 195ms |
0 / 0 |