powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Правильность выполнения задания. что не так?
25 сообщений из 90, страница 2 из 4
Правильность выполнения задания. что не так?
    #39714119
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализовать какой-то поиск с временной сложность о(1) тут наверное вообще не реально. Так что основное время будет тратиться на матчинг регуляркой.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714120
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно увидеть саму вакансию?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714121
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettЕсли данные из СУБД каждый раз не загружать (а их можно закэшировать, например в том же сервисе), то проход по данным не такая уж дорогая операция будет (цикл по коллекции), ради которой стоит городить такие ужасные вещи.

Если в качестве решения можно было бы один раз вычитать данные в память, то SQL не упоминался бы. Человека не способного сделать select name from table можно отсеять до тестового задания.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714126
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 -- это не джава аппроач? )) ни одной скл строки тут я не вижу. раз нет скл - значит не скл.

я не знаю точно можно ли репозиторию скармливать регекспы.. народ вроде говорит можно. мне проверить не на чем. если можно то - одна строчка.

но если нельзя скормить регексп репозиторию и нельзя юзать натив скл, то вариант один -- стримы перебором и ВСЁ. вот совсем всё. если этот олень оценщик в комменте к твоему коду говорит что это "неэффективно" то пусть скажет че он хочет вообще? ты или перебираешь это (окей можно на потоки разбить и перебирать в некоей условной параллели) -- или делаешь склом. других вариантов НЕТ. от слова совсем.

а да.. можно еще написать на спарке приложеньку и выгружать датасет в спарк и пусть уже он там свои РДДхи раскидывает по нодам и перебирает. но для такой задачи это экзотика.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714127
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopandreykaT1) далее, по сервису. ты как то странно создаешь инициальные тестовые данные )) это лишнее ) мог бы просто утиль написать или там скуэль скрипт какой. вообще это имхо лишнее в задании. ты еще и дто в конструктор сервиса передаешь (шта?)

пример?

пример загрузки данных? ну например, написать еще один мейн метод в отдельном пакадже или модуле, который запускается из консоли строкой и "импортирует/генерирует" данные. ну... это я бы так сделал. или просто скл скрипт генерирующий тоже некий датасет. делать отдельный ендпоинт который надо дернуть чтоб он запустил какой-то процесс - имхо так себе )
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714129
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettРеализовать какой-то поиск с временной сложность о(1) тут наверное вообще не реально. Так что основное время будет тратиться на матчинг регуляркой.
лол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает.

и да... оценщик не умеет писать -тся -ться. за такое надо из рогатки убивать еще в детском саду.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714132
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...ща посмотрел оказывается можно запилить критерий с регуляркой правда, по факту оно вызывает скл функцию.

типа такого.

Код: java
1.
Predicate theRegexPredicate = builder.equal(builder.function("regexp", Integer.class, path, patternExpression), 1);



в кавычках название процедуры.
это скл? (ну в смысле в понимании тестирующего).
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714134
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТребует доработки:
1. Использование String.matches для каждого контакта - неэффективно. // Я переделал на Pattern/Matcher
2. Вычитывать все записи из базы на каждый запрос от каждого пользователя неэффективно
3. Захардкодженый pageSize // В условиях задания об этом ничего не говориться
4. Поиск в базе из миллионна записей занимает 5 минут
5. Отсутствуют тесты. // Тесты более менее написал. Хоть что-то. Ибо сути их все равно понять не могу И что именно тестить тоже.

1. интересно, обосновать сможет в устной беседе?
2. почему? а если у нас от запроса к запросу данные могут меняться? или не могут?
3. художник так видит. ну и чо? впрочем, я бы вообще пейджсайз не мутил. хотят джаву - на тебе стрим без скип тейков и наслаждайся
4. лолшто? а че он хотел то?
5. ну тут да.. тесты тестируют что 500 не приходит можно было бы добавить там разные поиски паттерны и т.п.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714138
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1. интересно, обосновать сможет в устной беседе?
Регулярка будет поятоянно компилироваться, или нет?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714139
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettА можно увидеть саму вакансию?
Нашел ее тут https://rabota.ua/company0/vacancy7366784?utm_source=emailing&utm_medium=email

не знаю насколько она актуальна.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714140
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettРегулярка будет поятоянно компилироваться, или нет?
Я тоже задался этим вопросом. И оказалось что метод String.matches каждый раз делает такое Pattern.matches(regex, this); . То тут да, проще один создать и все.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714143
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettавтор1. интересно, обосновать сможет в устной беседе?
Регулярка будет поятоянно компилироваться, или нет?
да. ну там паттерн просто тоже надо правильно написать чтоб он регулярно не компилился )) у тса все верно. )) так просто вопрос на уверенность знаний.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714152
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не парься, все нормально написано. Напиши то не знаю что. Решает задачу? Решает, пнх. Правильно формулируйте условие. Единственное что смущает это readme, ну какое Open project in Intellij IDEA and run it
Go to /hello/contacts/create for filling contacts table

Ну а если у меня нет идеи? Сказали же что мавен(да я знаю что pom.xm естьl) ну так и пиши инструкцию также. Про TDD - это в принципе хорошая штука и не стоит ее недооценивать, но ни в коем случае нельзя ловить tdd головного мозга, в данном случае интеграционного теста вполне достаточно.
Ну пусть себе ищут брата по разуму, удачи в их недолгом бизнесе
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714158
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь, дети, прослушайте список слов, которые нельзя говорить:

авторЕсть таблица contacts в SQL базе. В ней миллионы строк.

Запрос к contacts должен возвращать контакты из таблицы БД contacts. Параметр nameFilter обязателен. В него передаётся регулярное выражение. В возвращаемых данных не должно быть записей, в которых contacts.name совпадает с регулярным выражением.


Фильтр обязательно применять в java коде, не использовать возможности SQL.

В реализации обязательно учитывать огромное предполагаемое количество контактов и то, что легко написать фильтр, который возвращает их все.



;-)
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714169
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да по стилистике тз писал человек какой-то не технический, с навыками литератора.. "огромное предполагаемое количество контактов" )) што? ) фильтр обязательно применять в java коде не использовать возможности SQL -- снова што??
ну точно литератор. у меня на прошлом проекте девочки-писилявки и то лучше тз излагали на бумаге.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714179
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTлол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает.
Поиск типа "строка не содержит букву 'а'" - причем тут сортировка?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714223
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Это не ТЗ, это тестовое задание, оно по определению должно быть позаковыристее или нечетко сформулированное, потому что заодно проверяет, как вы работаете с информацией и какие дополнительные вопросы задаете. Задание, кстати, неплохое, отлично отсеивает тех, кто за пределы букваря по спрингу, хиберу и SQL никогда не выходят.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714235
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никДа не парься, все нормально написано. Напиши то не знаю что. Решает задачу? Решает, пнх.


- то, что у него данные с последней "страницы" теряются это нормально?
- слой репозиториев возвращает http response - тоже?
- create возвращает код 200

только этого достаточно, чтобы отсеять кандидата
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714236
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторслой репозиториев
сервисный т.е.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714241
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett- create возвращает код 200на create контракта в ТЗ нет, поэтому 200 там вполне себе, более того, там никаким PUT и не пахнет, поэтому про 201 не может быть и речи.
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714242
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hett, а чего теряются то?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714243
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopHett, а чего теряются то?

Код: java
1.
2.
        long pages = contactsCount / pageSize;
        for (int i = 0; i < pages; i++) {



5 разделить на 2 сколько будет?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714261
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловTsyklopHett, а чего теряются то?

Код: java
1.
2.
        long pages = contactsCount / pageSize;
        for (int i = 0; i < pages; i++) {



5 разделить на 2 сколько будет?

еще и переполнение i может случиться (не в этом случае конечно, но вообще выглядит не очень)
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714263
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxerandreykaT,

Это не ТЗ, это тестовое задание, оно по определению должно быть позаковыристее или нечетко сформулированное, потому что заодно проверяет, как вы работаете с информацией и какие дополнительные вопросы задаете. Задание, кстати, неплохое, отлично отсеивает тех, кто за пределы букваря по спрингу, хиберу и SQL никогда не выходят.
это формальные требования к законченному продукту. они должны быть сформулированы ясно, однозначно и непротиворечиво. это как минимум, указывает на качество тех кто поставляет требования. тут мало того, что требования написаны каким-то потомком пушкина, так еще и с ошибками. и да, у меня было бы некоторое количество вопросов по такому "заданию". а если потом такой гражданин тебе задания будет выставлять каждый день то может и не стоило туда бы идти? ))

чел просит искать стримами миллион записей а потом говорит ой чот медленно работает... эээ, слыш, ты чо больной чтоле?
...
Рейтинг: 0 / 0
Правильность выполнения задания. что не так?
    #39714266
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловandreykaTлол. тут поиск будет если несортированные данные - N, если сортированные то логарифм, о да, я кэп. чудес не бывает.
Поиск типа "строка не содержит букву 'а'" - причем тут сортировка?
а какая разница бинарному поиску между искать есть ли строка или искать нет ли строки? это ж одно и то же
...
Рейтинг: 0 / 0
25 сообщений из 90, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Правильность выполнения задания. что не так?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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