Решение задач Codewars JS | Junior, Middle, Senior | | Junior, Middle, Senior

preview_player
Показать описание

Как джун, миддл и синьор разработчик решают задачи на CodeWars? Узнайте вместе с Александром Князевым, mentor lead направления JavaScript Москва, на примере 6 Kyu!

Кто мы такие❓

Эльбрус Буткемп - это первая и самая крупная в России школа программирования в формате интенсивного обучения. Студенты 12 недель оффлайн или 15 недель онлайн практикуются на реальных проектах и кодят с утра до вечера. Обучение проходит по направлениям JavaScript и Data Science.

В буткемпе студенты решают задачи от реальных работодателей, что особенно важно в постоянно развивающейся сфере IT. 3 месяца оффлайн / 4 месяца онлайн обучения с 9:00 до 19:00 5 дней в неделю, ежедневная работа с кодом, плюс два проекта, командный и персональный, которые студенты защищают на второй и третьей, заключительной, фазе обучения — и вот на выходе уже есть полноценное портфолио, которое можно показать при устройстве на работу.

По окончании обучения всех ждет карьерная неделя, где карьерный коуч помогает подготовиться к собеседованию, подтянуть софт-скиллы и собрать резюме, с которыми 93% студентов находят работу в течение трех месяцев после окончания буткемпа. Также после завершения Эльбрус Буткемп есть возможность получить диплом ДПО.

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

Напишите или позвоните нам, чтобы узнать, как поступить в ближайшую группу:

☎️ +7 (499) 938-68-24

Использовалось в видео (музыка/видео):
Fast Forward, Pause - Rebecca Mardal
Рекомендации по теме
Комментарии
Автор

Всем привет! При написании кода разной сложности, у разработчиков могут быть разные подходы в зависимости от опыта и ожидаемых требований к функциональности.
В случае с middle и senior кодом, код может представлять из себя применение разных алгоритмов для обеспечения максимальной безопасности пароля, подходящий для более критичных ситуаций.
Но целью этого видео показать вариативность решения конкретной задачи с codewars.com. В любом случае, каждая задача требует детального изучения, для того чтобы предоставить оптимальное решение (где-то нужны спец.символы, где-то нужна функция без использования рекурсивного подхода). Спасибо за обратную связь!

ElbrusBootcamp
Автор

Я, конечно, могу ошибаться, но, с точки зрения подкапотной алгоритмической сложности, но генерация 256-битного хеша с последующим преобразованием приведением его к base64 - это далеко не senior-ское решение, а горе от ума.

rtg
Автор

Автор видео ничего не понимает в том что он делает, самое лучшее решение тут джуновское, реальный недостаток там только один - относительно фиксированный трехсимвольный префикс, но этот недостаток очень легко убрать, нужно просто сделать случайную перестановку строки(random shuffle). А остальное мелочи, можно причесать добавить myRandomInteger от мидла, и вот это будет настоящий сеньорский код - простой, понятный и решающий задачу.
"Мидловское" и "сеньерское" решение просто полное дерьмо, использовать регулярку и рекурсию для такой задачи это не показать квалификации, а показатель её отсутствия.
С уважением Михаил, программист с более чем 15 летним опытом

Misha
Автор

отличное мидловское решение с потенциально бесконечным временем выполнения :))

uddhskt
Автор

Всем привет, на связи тот самый человек из видео!
Спасибо за конструктивный фидбек — что рекурсия может никогда не закончиться и код не является безопасным.
Мне стало интересно, какая вероятность того, что переполнится стэк вызова из-за безвыходной рекурсии. Если интересно увидеть математическую сторону задачи, ставьте лайк под моим сообщением — выпущу видос с расчетами и объяснением

Grentanksmog
Автор

Если мне понадобится генератор простых чисел, я просто буду брать рандомное целое число и проверять его на то, простое оно или нет. Если оно не простое, но буду буду вызывать эту функцию рекурсивно до тех пор, пока рандомное число не станет простым. Теперь я милд разработчик?

logsjomia
Автор

"синйорное" решение кошмар. регулярки это ту мач, это ж не читается прям совсем. я б такое на ревью не пропустил
мидловское решение топ так как его легко отмасшабировать добавлением спец симолов. в отличии от хеша
чтобы удостоверится что в пароле будет 1 цифра 1 заглавная и маленькая буква достаточно просто в случайный элемент сгенерированного пароля вставить случайный элемент из lowercase digits uppercase (хотя прийдется убедится что случайно не перезапишем то что уже перезаписали 🤔). и не прийдется делать рекрсивный вызов и делать функцию проверки

konstantinriabchenko
Автор

Формат супер, можно записывать и другие задачи

MultiFunnyJoe
Автор

04:21 почему выбираем из lowerCase от 0 до 28, если в английском алфавите всего 26 букв ? Одинарные ковычки ( ' ' ) тоже входят в вычисление ?

xMurieLLx
Автор

А модуль crypto это не из node js? По условиям задачи мы можем использовать модули из node js? Или только чистый js?

mkmkmk
Автор

Очень полезное видео, спасибо большое за твой труд. Это мое первое видео на твоем канале

david_yuzhakov
Автор

"На Синьорское решение у меня ушло больше времени, " - я то думал, что суть Синьора в обратном - получать тот же результат за меньшее время.

BYGUR
Автор

Автору спасибо! Но я полагаю, что воистину сеньорским было бы решение в стиле code golf. Предлагаю перерешать задачу. А то Эльбрус какой-то невысокий.

svoqwdq
Автор

тот случай когда "сеньерское" решение выглядит больше как мидловое(выглядит как можно взять кувалду(sha256) что бы забить маленький гвоздик(пароль из 20 симоволов))

flashake
Автор

Джуновское решение самое адекватное с точки зрения оптимизации. Просто нужно доработать.
Идея сначала запихнуть по одному символу из каждого словаря - очень правильная. Просто в конце нужно перемешать массив и уже объединить его в пароль.

iKorewBro
Автор

Не заметил, что на последнем решении VSCode слишком мелкий. В следующий раз увеличу масштаб👌

Grentanksmog
Автор

Кайф, было интересно посмотреть на сеньорский вариант

jxfpjku
Автор

Как так же форматировать код как на 17:58?

denys
Автор

Мое личное мнение, что middle решение тут вообще выкинуть надо, а senior решение назвать middle, senior вряд ли будет делать это вот так, потому что здесь большой вопрос по скорости работы этой функции...

babenoff
Автор

задача решается за 4 переменных но можно и с 2 справиться

_Failure.