|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Реализовать какой-то поиск с временной сложность о(1) тут наверное вообще не реально. Так что основное время будет тратиться на матчинг регуляркой. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:37 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
А можно увидеть саму вакансию? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:40 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
HettЕсли данные из СУБД каждый раз не загружать (а их можно закэшировать, например в том же сервисе), то проход по данным не такая уж дорогая операция будет (цикл по коллекции), ради которой стоит городить такие ужасные вещи. Если в качестве решения можно было бы один раз вычитать данные в память, то SQL не упоминался бы. Человека не способного сделать select name from table можно отсеять до тестового задания. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:45 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
TsyklopandreykaT1) далее, по сервису. ты как то странно создаешь инициальные тестовые данные )) это лишнее ) мог бы просто утиль написать или там скуэль скрипт какой. вообще это имхо лишнее в задании. ты еще и дто в конструктор сервиса передаешь (шта?) пример? andreykaT2) ты файндолл делаешь с пагинацией по 200 )) а потом из полученной паги тащишь стримом переборку на совпадение. это лишнее от тебя ждали или там джейпиэй типа repository.findByNameLike("whateverString") - это вообще ОДНА строчка на ВЕСЬ МЕТОД вместо твоей требухи, либо же простым жпкл запросом типа "select entity e where e.name like :param" либо вообще простым скл нативным запросом (как Вадя любит). - всё-равно одна строка. 1. Я использую не Spring Data JPA, а Hibernate. У него нет repository.findByNameLike , тут все писать ручками надо. 2. Вы наверно не читали условия. Фильтровать только в Java, в SQL нельзя. andreykaT3) нейминг в целом. но это может я придираюсь. я бы сделал стандартную структуру папок контроллер, сервис, репозиторий, домейн. ну или как то так. а сейчас разве не так? controller, dao, service, entity. что не так? dao для хибера, для Spring Data JPA пишут repository. andreykaT3.1) я не думаю что отдавать ентити как есть клиенту это хорошая идея - я бы заюзал маппер и перекатывал бы ее поля на дтоху которую бы и отдавал. но это наверное и не требовалось. тут согласен, не учел. andreykaTв любом случае второй пункт явно указывает что ты скажем так, пока еще не имеешь того опыта который они видимо, ожидают. написание тестов к этому коду ну хз.. юниттестиков можно было бы написать с моканьем всех бинов да интеграционный. но тут на написание тестов уйдет времени больше чем на написание кода. Какого такого опыта? в чем именно опыта нет? пытаюсь понять это. хибер это такая же надстройка как и спринг дата тебе никто не запрещает пользвать и то и другое.. или запрещает? ты ж в любом случае в спринге сидишь и почему repo.findByNameLike -- это не джава аппроач? )) ни одной скл строки тут я не вижу. раз нет скл - значит не скл. я не знаю точно можно ли репозиторию скармливать регекспы.. народ вроде говорит можно. мне проверить не на чем. если можно то - одна строчка. но если нельзя скормить регексп репозиторию и нельзя юзать натив скл, то вариант один -- стримы перебором и ВСЁ. вот совсем всё. если этот олень оценщик в комменте к твоему коду говорит что это "неэффективно" то пусть скажет че он хочет вообще? ты или перебираешь это (окей можно на потоки разбить и перебирать в некоей условной параллели) -- или делаешь склом. других вариантов НЕТ. от слова совсем. а да.. можно еще написать на спарке приложеньку и выгружать датасет в спарк и пусть уже он там свои РДДхи раскидывает по нодам и перебирает. но для такой задачи это экзотика. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:53 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
TsyklopandreykaT1) далее, по сервису. ты как то странно создаешь инициальные тестовые данные )) это лишнее ) мог бы просто утиль написать или там скуэль скрипт какой. вообще это имхо лишнее в задании. ты еще и дто в конструктор сервиса передаешь (шта?) пример? пример загрузки данных? ну например, написать еще один мейн метод в отдельном пакадже или модуле, который запускается из консоли строкой и "импортирует/генерирует" данные. ну... это я бы так сделал. или просто скл скрипт генерирующий тоже некий датасет. делать отдельный ендпоинт который надо дернуть чтоб он запустил какой-то процесс - имхо так себе ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:55 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
HettРеализовать какой-то поиск с временной сложность о(1) тут наверное вообще не реально. Так что основное время будет тратиться на матчинг регуляркой. лол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает. и да... оценщик не умеет писать -тся -ться. за такое надо из рогатки убивать еще в детском саду. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 20:57 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
...ща посмотрел оказывается можно запилить критерий с регуляркой правда, по факту оно вызывает скл функцию. типа такого. Код: java 1.
в кавычках название процедуры. это скл? (ну в смысле в понимании тестирующего). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:02 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
авторТребует доработки: 1. Использование String.matches для каждого контакта - неэффективно. // Я переделал на Pattern/Matcher 2. Вычитывать все записи из базы на каждый запрос от каждого пользователя неэффективно 3. Захардкодженый pageSize // В условиях задания об этом ничего не говориться 4. Поиск в базе из миллионна записей занимает 5 минут 5. Отсутствуют тесты. // Тесты более менее написал. Хоть что-то. Ибо сути их все равно понять не могу И что именно тестить тоже. 1. интересно, обосновать сможет в устной беседе? 2. почему? а если у нас от запроса к запросу данные могут меняться? или не могут? 3. художник так видит. ну и чо? впрочем, я бы вообще пейджсайз не мутил. хотят джаву - на тебе стрим без скип тейков и наслаждайся 4. лолшто? а че он хотел то? 5. ну тут да.. тесты тестируют что 500 не приходит можно было бы добавить там разные поиски паттерны и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:09 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
автор1. интересно, обосновать сможет в устной беседе? Регулярка будет поятоянно компилироваться, или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:26 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
HettА можно увидеть саму вакансию? Нашел ее тут https://rabota.ua/company0/vacancy7366784?utm_source=emailing&utm_medium=email не знаю насколько она актуальна. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:27 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
HettРегулярка будет поятоянно компилироваться, или нет? Я тоже задался этим вопросом. И оказалось что метод String.matches каждый раз делает такое Pattern.matches(regex, this); . То тут да, проще один создать и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:29 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Hettавтор1. интересно, обосновать сможет в устной беседе? Регулярка будет поятоянно компилироваться, или нет? да. ну там паттерн просто тоже надо правильно написать чтоб он регулярно не компилился )) у тса все верно. )) так просто вопрос на уверенность знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 21:31 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Да не парься, все нормально написано. Напиши то не знаю что. Решает задачу? Решает, пнх. Правильно формулируйте условие. Единственное что смущает это readme, ну какое Open project in Intellij IDEA and run it Go to /hello/contacts/create for filling contacts table Ну а если у меня нет идеи? Сказали же что мавен(да я знаю что pom.xm естьl) ну так и пиши инструкцию также. Про TDD - это в принципе хорошая штука и не стоит ее недооценивать, но ни в коем случае нельзя ловить tdd головного мозга, в данном случае интеграционного теста вполне достаточно. Ну пусть себе ищут брата по разуму, удачи в их недолгом бизнесе ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 23:06 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
А теперь, дети, прослушайте список слов, которые нельзя говорить: авторЕсть таблица contacts в SQL базе. В ней миллионы строк. Запрос к contacts должен возвращать контакты из таблицы БД contacts. Параметр nameFilter обязателен. В него передаётся регулярное выражение. В возвращаемых данных не должно быть записей, в которых contacts.name совпадает с регулярным выражением. Фильтр обязательно применять в java коде, не использовать возможности SQL. В реализации обязательно учитывать огромное предполагаемое количество контактов и то, что легко написать фильтр, который возвращает их все. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2018, 23:30 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
ну да по стилистике тз писал человек какой-то не технический, с навыками литератора.. "огромное предполагаемое количество контактов" )) што? ) фильтр обязательно применять в java коде не использовать возможности SQL -- снова што?? ну точно литератор. у меня на прошлом проекте девочки-писилявки и то лучше тз излагали на бумаге. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 01:09 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
andreykaTлол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает. Поиск типа "строка не содержит букву 'а'" - причем тут сортировка? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 05:42 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
andreykaT, Это не ТЗ, это тестовое задание, оно по определению должно быть позаковыристее или нечетко сформулированное, потому что заодно проверяет, как вы работаете с информацией и какие дополнительные вопросы задаете. Задание, кстати, неплохое, отлично отсеивает тех, кто за пределы букваря по спрингу, хиберу и SQL никогда не выходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 09:46 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
забыл никДа не парься, все нормально написано. Напиши то не знаю что. Решает задачу? Решает, пнх. - то, что у него данные с последней "страницы" теряются это нормально? - слой репозиториев возвращает http response - тоже? - create возвращает код 200 только этого достаточно, чтобы отсеять кандидата ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:00 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
авторслой репозиториев сервисный т.е. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:01 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Hett- create возвращает код 200на create контракта в ТЗ нет, поэтому 200 там вполне себе, более того, там никаким PUT и не пахнет, поэтому про 201 не может быть и речи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:11 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Hett, а чего теряются то? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:12 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
TsyklopHett, а чего теряются то? Код: java 1. 2.
5 разделить на 2 сколько будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:16 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловTsyklopHett, а чего теряются то? Код: java 1. 2.
5 разделить на 2 сколько будет? еще и переполнение i может случиться (не в этом случае конечно, но вообще выглядит не очень) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:36 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
fixxerandreykaT, Это не ТЗ, это тестовое задание, оно по определению должно быть позаковыристее или нечетко сформулированное, потому что заодно проверяет, как вы работаете с информацией и какие дополнительные вопросы задаете. Задание, кстати, неплохое, отлично отсеивает тех, кто за пределы букваря по спрингу, хиберу и SQL никогда не выходят. это формальные требования к законченному продукту. они должны быть сформулированы ясно, однозначно и непротиворечиво. это как минимум, указывает на качество тех кто поставляет требования. тут мало того, что требования написаны каким-то потомком пушкина, так еще и с ошибками. и да, у меня было бы некоторое количество вопросов по такому "заданию". а если потом такой гражданин тебе задания будет выставлять каждый день то может и не стоило туда бы идти? )) чел просит искать стримами миллион записей а потом говорит ой чот медленно работает... эээ, слыш, ты чо больной чтоле? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:36 |
|
Правильность выполнения задания. что не так?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловandreykaTлол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает. Поиск типа "строка не содержит букву 'а'" - причем тут сортировка? а какая разница бинарному поиску между искать есть ли строка или искать нет ли строки? это ж одно и то же ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 10:40 |
|
|
start [/forum/topic.php?fid=59&msg=39714261&tid=2121726]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 191ms |
0 / 0 |