
Viktor
07.09.2018
12:41:38
а есть эта книга в pdf ?

Anton
07.09.2018
13:03:13
есть
и стоит копейки

Combot
07.09.2018
18:49:11
combot.org/c/-1001071233926

Google

Konstantin
07.09.2018
20:03:08
Сегодня был на собеседовании на позицию программиста php. Дали задание и 2 часа времени. Не справился, потому что 2 часа не хватало. Хочу Скинуть сюда задание
На мой вопрос, а кто-то успел ха два часа. Ответ ожидаемый, нет ;)

Артур Евгеньевич
07.09.2018
20:15:11
Здесь понадобятся графы
Но учитывая что у них 5 версия пыхи указана потеря не велика)))

da horsie
07.09.2018
20:17:28
Здесь понадобится решение в лоб со сложностью О(дохуя) после которого надо сказать "ну а теперь будем оптимизировать"

Shmaltorhbooks
07.09.2018
20:18:09
На собеседовании графы, а на деле потом суппортить бложек на вротпрессе

da horsie
07.09.2018
20:18:13
А графы хуяфы это для хипстеров.
На собеседовании под стрессом сортировку пузырьком за час хрен напишешь, не то что алгоритм с графами

Konstantin
07.09.2018
20:19:28

Shmaltorhbooks
07.09.2018
20:21:47
Требования к кандидату: знание теории графов, php5

da horsie
07.09.2018
20:21:56
Решение в лоб с тестами в сто раз лучше неработающего "умного" без тестов

Andrey
07.09.2018
20:22:35

Google

Andrey
07.09.2018
20:22:43
Или быстрая.

Shmaltorhbooks
07.09.2018
20:22:47

Aleh
07.09.2018
20:22:55

Andrey
07.09.2018
20:23:01
Любая сортировка, где не надо ебаться с индексами, проще, чем та, где надо с индексами ебаться.

da horsie
07.09.2018
20:23:31
Такие штуки надо решать итеративно. И первый шаг запустить алгоритм на пустом множестве и проверить, что он компилится
Второй шаг - множество размера один и тест на то, что выдаётся отает
Ответ

Aleh
07.09.2018
20:24:25
Сортируем по дате и дальше за куб(или квадрат?) перебираем ?

Konstantin
07.09.2018
20:24:39

da horsie
07.09.2018
20:24:39

Aleh
07.09.2018
20:25:06

da horsie
07.09.2018
20:25:31
Тока там не куб, а факториал
Но это похер, потому что на маленьких размерах все работает

Konstantin
07.09.2018
20:26:50
сейчас вакансию найду

Aleh
07.09.2018
20:27:37
Тока там не куб, а факториал
Не факториал, если отсортированы по дате, то решение будет первый элемент + самый длинный в остатке если начало совпадает с концом первого элемента, иначе самый длинный в остатке
И так рекурсивно, вроде даже квадрат выйдет
Но это не точно

da horsie
07.09.2018
20:29:28
Это ты уже оптимизируешь

Google

da horsie
07.09.2018
20:30:52
Надо мыслить стратегически. Чем хуже первое решение, тем больше места для маневра.

Aleh
07.09.2018
20:31:35
На массиве из одного тоже

da horsie
07.09.2018
20:32:00
Я понимаю

Konstantin
07.09.2018
20:33:37

da horsie
07.09.2018
20:33:49
Но решение полным перебором при его очевидной тупизне и простоте даст тебе сразу тест на валидность результата, а это очень крутое начало.

Konstantin
07.09.2018
20:33:51
Не было ни одного технического вопроса

da horsie
07.09.2018
20:35:02

Aleh
07.09.2018
20:36:03

Konstantin
07.09.2018
20:36:42
Вакансия говно, забей :)
Я знаю. Просто негативный осадок остался. Я ехал туда час, час общался с хантером. 2 с лишним часа решал задание. Потом простой ответ, ну не успели, значит не справились( WTF) и час назад, домой со своими мыслями уже ехал, что не справился потому что не хватило времени.

Dmitry
07.09.2018
21:01:23
построить граф, вершины которого - маршруты из условия, а ребром соединяем такие маршруты А и Б, если после маршрута А можно сесть на маршрут Б
и потом пускаем bfs из узлов, в которые нельзя попасть

Konstantin
07.09.2018
21:07:12
построить граф, вершины которого - маршруты из условия, а ребром соединяем такие маршруты А и Б, если после маршрута А можно сесть на маршрут Б
и потом пускаем bfs из узлов, в которые нельзя попасть
Машрута нет, он может постоянно меняться. Представь что ты летишь допустим с Москвы в Минск потом в Литву, потом в Лондон. А можно сразу из Москвы в Литву, потом через день в Лондон. Таких маршрутов много, они динамические. Вот тот путь который я описал первый, он верный, так как длинный и согласно условиям соотвествует.
Задача напоминает как поиск пути от одного юнита к НПС, но при этом ты ищёшь самый долгий путь.

Dmitry
07.09.2018
21:08:07
я неправильно сформулировал, не маршруты, а сегменты

Konstantin
07.09.2018
21:09:28
Я к тому что там пока поймёшь что к чему и от куда ноги растут, пройдёт пол часа, потом начинаешь накидывать код, мок данные, разбивать на методы и так далее. Ещё час, и уже думаешь а блин, я же не то писал, надо подругому логику приложения выстраивать.

Evgenii
07.09.2018
23:47:55
Не было ни одного технического вопроса
Вы меня конечно простите, но само описание вакансии говорит о том, что это полная хуита, а именно:
- описание в дос формате(могу ошибаться)
- отсутствие дресс кода(можно пиджак не носить)
- будет плюсом опыт с Битрикс == Будешь по любому его юзать
- шаговая доступность от м. Динамо - я не москвич, но знаю, что Динамо это днище еще то
- тестовое задание, от которого ты, видимо, не в восторге
- опыт от 5 лет- зп от 140р(верхняя планка, уверен, недалеко)


Konstantin
07.09.2018
23:49:34
Вы меня конечно простите, но само описание вакансии говорит о том, что это полная хуита, а именно:
- описание в дос формате(могу ошибаться)
- отсутствие дресс кода(можно пиджак не носить)
- будет плюсом опыт с Битрикс == Будешь по любому его юзать
- шаговая доступность от м. Динамо - я не москвич, но знаю, что Динамо это днище еще то
- тестовое задание, от которого ты, видимо, не в восторге
- опыт от 5 лет- зп от 140р(верхняя планка, уверен, недалеко)
Кстати, Битрикс при чтении я как-то пропустил. Обычно я такие конторы обхожу стороной. Причём за километр.

Evgenii
08.09.2018
00:19:43
это сарказм - писать об этом как преимущество - полный пиздец

Google

Konstantin
08.09.2018
00:23:30
Некрасиво Битрикс поддерживать
Это больше деловая переписка

Denis
08.09.2018
01:13:02
я как-то пришел на интервью, а там в офисе все мужики лет 50 чисто такие которые с кейсами ходят в полной классике, оказалось типа это они хайрят первого программиста в их сейлс офис, а остальные программисты на другом конце страны сидят
сказать что мне как сперматазоиду лет 20-ти с чем-то было не оч комфортно ниче не сказать
так что это что-то да говорит о месте где ты будешь работать, а это не последнее вообще в выборе конторы


Konstantin
08.09.2018
01:20:49
Ребята кто делал микросервисы, реальный опыт. Допустим есть авторизация - один микросервис и допустим есть сохранение какой то записи - другой микросервис. Получается по логике сперва пользователь авторизируется в одном микросермисе, потом хочет сохранить запись во втором микросервисе который слабо связан с первым и второй микросервис чтобы проверить токен лезит в первый проверять токен который был получин при авторизации и если всё окей то сохраняетс запись, нет, выдаёт ошибку что надо залогинится. Тестирования всего этого я понимаю достаточно накладно.
И взаимосвязь на уровне базы она получается тоже слабая, но а если надо связать запись с количеством просмотров этой записи а статистика в отдельном микросервисе, при этом есть записи удалённые и так далее которые только джойнить

Denis
08.09.2018
01:23:07
у нетфликса один высоконагруженный API сервис который как раз дергает авторизацию и пускает или не пускает

Konstantin
08.09.2018
01:23:11
Получается уже связь должна быть жёствая
Про авторизацию это просто, но есть другие связи пример выше как статистика просмотром, отключание одних связей и других. Допустим надо получить записи которые популярные и при этом учесть что пользователь отключил показ у себя в настройках отображение записи
Получается связь на уровне бизнес логики
Запашёк монолита пошел

Denis
08.09.2018
01:26:19
можешь в сторону CQRS решений посмотреть, есть статьи по тому как готовить kafka + flink

Konstantin
08.09.2018
01:26:35

Denis
08.09.2018
01:26:59
надо собрать статистику? новую query модель делаешь из того же эвентсурса
у тебя синглсурс оф трутх получается твои эвенты, а не данные которые в базе лежат

Konstantin
08.09.2018
01:32:03
Хотя тут наверное вопрос на сколько мелко можно дробить проект на микросервисы.

Denis
08.09.2018
01:34:26
при правильной микросервисной архитектуре можно дробить хоть на микросервисы которые x с y складывают и отправляют результат дальше :)

Google

Konstantin
08.09.2018
01:39:02

Denis
08.09.2018
01:41:06
>не охото делать микросервисы ради микросервисов
Т.е у тебя сейчас нужды их делать нет? Если текущее решение всем устраивает, то зачем вообще пытаться чёт городить
Микросервисы это же про горизонтальную масштабируемость и fault-tolerance. Если в обозримом будущем этого не предвидится, то зачем преждевременно оптимизировать :)