Рекомендательные алгоритмы ВК до сих пор удивляют: включишь мультики ребёнку, отойдёшь, а потом слышишь как шутит какой-то "стендапер" с нецензурным сортирным юмором. Он(улучшенный рекомендательный алгоритм) словно не понимает, что если тут кто-то только что мультик смотрел, то значит быдлостендаперы явно не к месту, тупо во возрастным ограничениям. Причём это необучаемо: переключишь на следующую серию мультика, а после неё снова этот же(!) "стендапер".
А есть преимущества вашей книги над "Грокаем алгоритмы"? Как-то анализировали нишу и ближайших конкурентов? При беглом сравнении содержания обеих книг, как-то даже не сильно заметна разница.
К отечественному высшему образованию много вопросов, но всё же: 1) Программа ВУЗа даёт ориентир и если вы выполняете задачи, то какая-то предполагаемая база вам обеспечена. Другое дело, если вы обманули препода, подставив где-то хитрый print. 2) Математику вы не будете учить сами. Ну не будете. Давайте честно. А без неё закрыт доступ к серьёзным книгам по алгоритмам(того же Кнута не прочитаете и даже не начнёте). И не стоит писать, что алгоритмы и структуры данных не нужны. Программист - это тот кто пишет программы, а программы - это алгоритмы и структуры данных, и больше ничего. 3) За полгода изучить программирование до трудоустройства? Смешно. Даже комментировать не буду. 4) У вас есть диплом о высшем профессиональном образовании. Как вы можете рассуждать, что было бы без него? Для меня, вы, теперь, главный пропагандист высшего айтишного образования, ведь работа в Apple и ЗП $21К в месяц - это впечатляет. 5) Сейчас вы рассуждаете с высоты 25+ лет, а не головой 17-летнего парня, который вчера сдал ЕГЭ. 6) Даже в Гарворде(надеюсь вы уважаете его диплом) принципиально не преподают современный стэк, ибо он молниеносно меняется, чего не скажешь про базу. База - это всё на чём стоят ваши вчерашние, сегодняшние и завтрашние фреймворки. 7) Не нужно путать кодера после курса, который занимается формошлёпством и программиста, который занимается действительно серьёзными вещами(финтех, телеком, медицина, космос и т.д.). 8) Кругозорные дисциплины тоже нужны, они пытаются расширять вашу личностную область видимости. Не нужно зацикливаться только на программировании, есть ещё жизнь за пределами IDE. --- Кстати, у меня нет айтишного образования и я разраб с курсов, но хотелось бы это исправить. Причём образование - это не равно диплом. Не знаю, буду ли куда-то ещё поступать в ВУЗ, но базу ИВТ, по книгам и курсам, подтягиваю. Хоть этого и не требуется в работе напрямую, но даёт свои плоды в мышлении и понимании того, что происходит под капотом.
Сейчас там Самородов про SQL Server рассказывает. Его лекции есть на ютубе и это пожалуй лучшее, что было со мной на пути изучения MS SQL, очень рекомендую.
чисто юридически, автор не обращался в ООО ДИГМА с официальным запросом, а переписку в чатике всегда можно свести к: ой, извините, сотрудник 2й день работал. Я даже не уверен, что за "некорректный" ответ ТП можно выписать небольшой штраф. Когда автор отправит запрос на юрлицо, а ему ответят с печатью и подписью, тогда можно будет что-либо утверждать. Пока что "ничего" не было, если мы говорим о законодательстве РФ или международном.
Условие в последнем JOIN "потеряет" данные на максимальных значениях price для каждой категории, например товар с ценой 10000 будет попросту отсечён, т.к. он больше либо равен 0 и НЕ меньше 10000(к слову, о качестве курсов в Яндекс Практикум).
JOIN category c ON p.price >= c.limit_1 AND p.price < c.limit_2
Исправить можно переписав на, подходящий сюда, BETWEEN:
JOIN category c ON p.price BETWEEN c.limit_1 AND c.limit_2
Так же "потеряются" данные о товарах с ценой выше чем 200000, а тут уже нужен LEFT JOIN и обработка таких случаев в SELECT:
CASE WHEN c.category IS NULL THEN 'дорогущий' ELSE c.category END AS category
Про правильное именование хотелось бы добавить: limit_1 и limit_2 необходимо переименовать в min_price и max_price - вы учите, а нам потом с таким кодом приходится сталкиваться повсеместно. Помимо денег, нужно брать ответственность за качество обучение.
Как мы устали от "это только для демо, в жизни так не бывает". А в чём собственно проблема у эксперта SQL разобрать реальную ситуацию и показать новичкам правильное применение JOIN, IN, CASE..? Непредставимо, чтобы трудовик забивал шурупы молотком со словами: это я просто показываю возможности молотка, вообще по гвоздям бить надо, но они чуть дальше лежали, поэтому показываю на шурупах.
Всё верно, похоже так и было, он 11 из 15 лет в больнице какое-то архивное CRUD приложение поддерживал и видимо ничем айтишным не интересовался вне работы.
После этого конечно изменили подход: 1) Стали более внимательно смотреть резюме, особенно бюджетников 2) Вернули скрининг, он реально помогает просеять уж совсем никаких Стало поинтереснее, но всё же. А что плохого в простом лайфкодинге, если у человека нет репо? Поделитесь опытом, пожалуйста. Не нужно просить написать быстрые сортировки, но всё же посмотреть как человек решает простую задачку и оформляет код - очень любопытно до трудоустройства. Лично я никогда не воспринимал это в штыки, а наоборот с интересом подходил. Мы на одном собесе давали простенькую задачку с полным пониманием и 90% скидкой за результат: 1) решил - очень круто! 2) не решил, но пытался - ок, ничего страшного, правда) 3) не решил и не пытался - такой не нужен от слова "совсем"(
Отклик - это просто нажатая кнопка. Интересно вот что: стали ли вы быстрее закрывать вакансии? Мы из 10 собесов только одному дали оффер и он отказался - скорее всего просто ЗП на текущем месте апнул и работает дальше. Остальные 9 кандидатов были абсолютно никакие, хотя у одного было 15 лет опыта, но по знаниям слабый джун
Да, но вы завели дополнительное 8ми байтовое поле на строку, а это увеличение кол-во страниц, чтений и возможно увеличение промежуточных уровней дерева. Я имею в виду создать таблицу:
CREATE TABLE dbo.metadata ( id bigint NOT NULL, sha256_part1 binary(8) NOT NULL, sha256_part2 binary(24) NOT NULL, CONSTRAINT pk_metadata PRIMARY KEY CLUSTERED (id) ) CREATE NONCLUSTERED INDEX IX_sha256_part1_include_sha256_part2 ON dbo.metadata (sha256_part1) INCLUDE(sha256_part2)
Так дешевле хранить и дешевле искать - экономится 8 байт на строку. Так же поле фиксированной длины экономить по 2 байта на строку, поэтому рекомендую binary вместо varbinary
Что если вместо поля sha256 создать 2 поля: sha256_part_1 и sha256_part_2? В поле sha256_part1 хранить первые 10 символов(например) и построить некластеризованный индекс по первой части включая вторую?
CREATE NONCLUSTERED INDEX IX_sha256_part_1_include_sha256_part_2 ON dbo.metadata (sha256_part_1) INCLUDE(sha256_part_2)
Он и место дополнительное не займёт и в случае коллизии перебирать не много. Нужно вычислить оптимальную длину первой части - чтобы и дерево индекса не раздувать и максимально избежать коллизий.
Рекомендательные алгоритмы ВК до сих пор удивляют: включишь мультики ребёнку, отойдёшь, а потом слышишь как шутит какой-то "стендапер" с нецензурным сортирным юмором. Он(улучшенный рекомендательный алгоритм) словно не понимает, что если тут кто-то только что мультик смотрел, то значит быдлостендаперы явно не к месту, тупо во возрастным ограничениям. Причём это необучаемо: переключишь на следующую серию мультика, а после неё снова этот же(!) "стендапер".
А есть преимущества вашей книги над "Грокаем алгоритмы"? Как-то анализировали нишу и ближайших конкурентов?
При беглом сравнении содержания обеих книг, как-то даже не сильно заметна разница.
К отечественному высшему образованию много вопросов, но всё же:
1) Программа ВУЗа даёт ориентир и если вы выполняете задачи, то какая-то предполагаемая база вам обеспечена. Другое дело, если вы обманули препода, подставив где-то хитрый print.
2) Математику вы не будете учить сами. Ну не будете. Давайте честно. А без неё закрыт доступ к серьёзным книгам по алгоритмам(того же Кнута не прочитаете и даже не начнёте). И не стоит писать, что алгоритмы и структуры данных не нужны. Программист - это тот кто пишет программы, а программы - это алгоритмы и структуры данных, и больше ничего.
3) За полгода изучить программирование до трудоустройства? Смешно. Даже комментировать не буду.
4) У вас есть диплом о высшем профессиональном образовании. Как вы можете рассуждать, что было бы без него? Для меня, вы, теперь, главный пропагандист высшего айтишного образования, ведь работа в Apple и ЗП $21К в месяц - это впечатляет.
5) Сейчас вы рассуждаете с высоты 25+ лет, а не головой 17-летнего парня, который вчера сдал ЕГЭ.
6) Даже в Гарворде(надеюсь вы уважаете его диплом) принципиально не преподают современный стэк, ибо он молниеносно меняется, чего не скажешь про базу. База - это всё на чём стоят ваши вчерашние, сегодняшние и завтрашние фреймворки.
7) Не нужно путать кодера после курса, который занимается формошлёпством и программиста, который занимается действительно серьёзными вещами(финтех, телеком, медицина, космос и т.д.).
8) Кругозорные дисциплины тоже нужны, они пытаются расширять вашу личностную область видимости. Не нужно зацикливаться только на программировании, есть ещё жизнь за пределами IDE.
---
Кстати, у меня нет айтишного образования и я разраб с курсов, но хотелось бы это исправить. Причём образование - это не равно диплом. Не знаю, буду ли куда-то ещё поступать в ВУЗ, но базу ИВТ, по книгам и курсам, подтягиваю. Хоть этого и не требуется в работе напрямую, но даёт свои плоды в мышлении и понимании того, что происходит под капотом.
Сейчас там Самородов про SQL Server рассказывает. Его лекции есть на ютубе и это пожалуй лучшее, что было со мной на пути изучения MS SQL, очень рекомендую.
Вы не поняли главного: не маркетплейсы, а мы будем платить ПР.
чисто юридически, автор не обращался в ООО ДИГМА с официальным запросом, а переписку в чатике всегда можно свести к: ой, извините, сотрудник 2й день работал. Я даже не уверен, что за "некорректный" ответ ТП можно выписать небольшой штраф. Когда автор отправит запрос на юрлицо, а ему ответят с печатью и подписью, тогда можно будет что-либо утверждать. Пока что "ничего" не было, если мы говорим о законодательстве РФ или международном.
да
Условие в последнем JOIN "потеряет" данные на максимальных значениях price для каждой категории, например товар с ценой 10000 будет попросту отсечён, т.к. он больше либо равен 0 и НЕ меньше 10000(к слову, о качестве курсов в Яндекс Практикум).
JOIN category c ON p.price >= c.limit_1 AND p.price < c.limit_2
Исправить можно переписав на, подходящий сюда, BETWEEN:
JOIN category c ON p.price BETWEEN c.limit_1 AND c.limit_2
Так же "потеряются" данные о товарах с ценой выше чем 200000, а тут уже нужен LEFT JOIN и обработка таких случаев в SELECT:
CASE WHEN c.category IS NULL THEN 'дорогущий' ELSE c.category END AS category
Про правильное именование хотелось бы добавить:
limit_1 и limit_2 необходимо переименовать в min_price и max_price - вы учите, а нам потом с таким кодом приходится сталкиваться повсеместно. Помимо денег, нужно брать ответственность за качество обучение.
Собеседование пройдено — вас НЕ взяли на работу!
Как мы устали от "это только для демо, в жизни так не бывает".
А в чём собственно проблема у эксперта SQL разобрать реальную ситуацию и показать новичкам правильное применение JOIN, IN, CASE..?
Непредставимо, чтобы трудовик забивал шурупы молотком со словами: это я просто показываю возможности молотка, вообще по гвоздям бить надо, но они чуть дальше лежали, поэтому показываю на шурупах.
Всё верно, похоже так и было, он 11 из 15 лет в больнице какое-то архивное CRUD приложение поддерживал и видимо ничем айтишным не интересовался вне работы.
После этого конечно изменили подход:
1) Стали более внимательно смотреть резюме, особенно бюджетников
2) Вернули скрининг, он реально помогает просеять уж совсем никаких
Стало поинтереснее, но всё же.
А что плохого в простом лайфкодинге, если у человека нет репо? Поделитесь опытом, пожалуйста.
Не нужно просить написать быстрые сортировки, но всё же посмотреть как человек решает простую задачку и оформляет код - очень любопытно до трудоустройства.
Лично я никогда не воспринимал это в штыки, а наоборот с интересом подходил.
Мы на одном собесе давали простенькую задачку с полным пониманием и 90% скидкой за результат:
1) решил - очень круто!
2) не решил, но пытался - ок, ничего страшного, правда)
3) не решил и не пытался - такой не нужен от слова "совсем"(
Отклик - это просто нажатая кнопка.
Интересно вот что: стали ли вы быстрее закрывать вакансии?
Мы из 10 собесов только одному дали оффер и он отказался - скорее всего просто ЗП на текущем месте апнул и работает дальше. Остальные 9 кандидатов были абсолютно никакие, хотя у одного было 15 лет опыта, но по знаниям слабый джун
Да, но вы завели дополнительное 8ми байтовое поле на строку, а это увеличение кол-во страниц, чтений и возможно увеличение промежуточных уровней дерева.
Я имею в виду создать таблицу:
CREATE TABLE dbo.metadata
(
id bigint NOT NULL,
sha256_part1 binary(8) NOT NULL,
sha256_part2 binary(24) NOT NULL,
CONSTRAINT pk_metadata PRIMARY KEY CLUSTERED (id)
)
CREATE NONCLUSTERED INDEX IX_sha256_part1_include_sha256_part2 ON dbo.metadata (sha256_part1) INCLUDE(sha256_part2)
Так дешевле хранить и дешевле искать - экономится 8 байт на строку. Так же поле фиксированной длины экономить по 2 байта на строку, поэтому рекомендую binary вместо varbinary
Что если вместо поля sha256 создать 2 поля: sha256_part_1 и sha256_part_2?
В поле sha256_part1 хранить первые 10 символов(например) и построить некластеризованный индекс по первой части включая вторую?
CREATE NONCLUSTERED INDEX IX_sha256_part_1_include_sha256_part_2 ON dbo.metadata (sha256_part_1) INCLUDE(sha256_part_2)
Он и место дополнительное не займёт и в случае коллизии перебирать не много. Нужно вычислить оптимальную длину первой части - чтобы и дерево индекса не раздувать и максимально избежать коллизий.