Ranks
Ranks are used to indicate the proficiency of users and the difficulty of Kata. There are two classes of ranks, Kyu and Dan, which are divided in 8 levels each. By increasing order of proficiency/difficulty:
Why the names Kyu and Dan? The terms are borrowed from a system in Japanese martial arts, which is in turn borrowed from the game of Go. Kyu (or Kyū) indicates the number of degrees away from master level (Dan). This is why they count downward. Once you reach master level, we count upward. Black belts in martial arts are Dan level.
User Rank Breakdown#
When you visit your profile on Codewars, you can see that you have an Overall rank as well as individual ranks for each language you have completed kata in:
The wheel on the left indicates your progress toward your next rank. For example, if you see the 1 dan badge in the wheel and your overall rank is 1 kyu / 70.0% that means you have earned 70% of the progress needed to go from 1 kyu to 1 dan (see required score).
The overall rank increases each time you successfully complete kata you never did in any language before. This increase occurs only one time per kata. On the other hand, you can complete the same Kata in different languages and each one of the related score will increase accordingly.
Note that you cannot gain progress if you forfeited a kata.
Leveling Your Rank#
As said before, the only way to «rank up» is to complete Kata. However, the rank of the Kata you complete makes a huge difference on the evolution of your rank and its progress.
As you can see in awarded score and required score to rank up, if your main goal is to level up your rank, you should aim for completing hard kata above your current user rank. On the contrary, completing a lot of low level kata will give you a lot of honor but will not increase your rank very quickly.
Remember, every kata completion counts toward the rank of that language, but only the first completion of a given kata counts toward your overall rank/score.
Awarded Score by Kata Rank#
| Completed | Score Awarded |
|---|---|
| 8 kyu | 2 |
| 7 kyu | 3 |
| 6 kyu | 8 |
| 5 kyu | 21 |
| 4 kyu | 55 |
| 3 kyu | 149 |
| 2 kyu | 404 |
| 1 kyu | 1,097 |
Required Score to Rank Up#
| Rank | Required Score |
|---|---|
| 8 kyu | 0 |
| 7 kyu | 20 |
| 6 kyu | 76 |
| 5 kyu | 229 |
| 4 kyu | 643 |
| 3 kyu | 1,768 |
| 2 kyu | 4,829 |
| 1 kyu | 13,147 |
| 1 dan | 35,759 |
| 2 dan | 97,225 |
Note about the conversion between rank score and rank progress percentage:
New users are often surprised when they realized that some kata of rank 4 kyu rewarded them with 5% progress or so, then the amount suddenly dropped to 1.7%. This kind of thing happens each time your rank levels up: since the actual score earned for completing a Kata is constant (see table) while the score required to reach the next level increases a lot, the % awarded for the same Kata rank becomes lower and lower when you level up.
To give you a general idea about the process, here are the approximate percents you may gain when comparing your rank with the rank of the Kata you completed:
Польза от codewars?
Оценить 1 комментарий
Не знаешь как решить. Сядь и нарисуй блоксхему алгоритма без привязки к ЯП
Скорее, там можно подсмотреть однострочники и дикую функциональщину
Что также полезно для развития
Вначале сам часто думал «а что так можно было?»
Когда решил что основным ЯП у меня теперь будет JS, надо было переформатировать мозги, для этого сотню-другую часов интенсивно что-то кодить, не важно что, важно чтобы на JS и в хорошем темпе.
Тут, как раз, Кодварс подвернулся. Прокачался до 2.5 qyu и подзабросил, но эффект получил должный, теперь на php кодить не так комфортно (иногда совсем не так).
Чужие решения смотреть тоже интересно, иногда думаешь вот ведь круто, но в прод я бы такое не выпустил.
Сами алгоритмы с кодварс в реале вряд ли понадобятся, а вот составные их части очень даже.
в общем для меня кодварс оказался весьма приятным и эффективным способом привыкнуть к ЯП.
codewars отличный ресурс.
Ключевой вопрос, пользуетелесь ли вы открытием решений или как впринципе выстраиваете свою работу на данном ресурсе?
Codewars
09 Jul 2020 в 23:09
09 Jul 2020 в 23:09 #1
Какого Kyo надо достичь, чтобы претендовать на junior позицию? Добрался до 5 kyo, пока норм, буду дальше долбить это дело
или этого не достаточно? Вообще они там много чего спрашивают на задачах, практика хорошая, но иногда всё сводится к тому, что надо написать программу прямо под тесты.
09 Jul 2020 в 23:57 #2
Кату 3-4 лвла не решил, на работу не взяли
09 Jul 2020 в 23:57 #3
Кату 3-4 лвла не решил, на работу не взяли
надо решать 3-4 каты? видел стрим, как такие каты сеньёр решает
09 Jul 2020 в 23:59 #4
надо решать 3-4 каты? видел стрим, как такие каты сеньёр решает
10 Jul 2020 в 01:02 #5
10 Jul 2020 в 06:09 #6
Ау, о про джуна говорит. Это как правило люди без опыта, но с потенциалом который пытается найти хороший интерьвювер.
10 Jul 2020 в 06:42 #7
Ау, о про джуна говорит. Это как правило люди без опыта, но с потенциалом который пытается найти хороший интерьвювер.
Нет абсолютно никаких проблем получить опыт и первые собственные проекты в портфолио. И никто не требует от джуна в портфолио иметь собственный фейсбук, амазон и гугл. Но элементарные проекты которые ты сможешь на интервью показать и рассказать о них там должны быть. Даже если они сделаны из говна и палок и это клон популярного сайта/приложения/программы.
Иначе не пробьешься среди таких же «джунов», потому что на большинство вакансий джунов прилетает минимум по 20-30 откликов. К нам на вакансию фронтенд джуна в Москве прилетело порядка 70 откликов когда нам срочно понадобился джун в команду и мы были готовы предложить не самую плохую зарплату. И большинство откликов были как раз таки вот такие, с бесполезными сертификатами, курсами, какими-то достижениями на codewars/timus/codeforce. Думаю, не стоит упоминать что такие люди даже не рассматриваются серьезно.
10 Jul 2020 в 06:46 #8
Нет абсолютно никаких проблем получить опыт и первые собственные проекты в портфолио. И никто не требует от джуна в портфолио иметь собственный фейсбук, амазон и гугл. Но элементарные проекты которые ты сможешь на интервью показать и рассказать о них там должны быть. Даже если они сделаны из говна и палок и это клон популярного сайта/приложения/программы.
Иначе не пробьешься среди таких же «джунов», потому что на большинство вакансий джунов прилетает минимум по 20-30 откликов. К нам на вакансию фронтенд джуна в Москве прилетело порядка 70 откликов когда нам срочно понадобился джун в команду и мы были готовы предложить не самую плохую зарплату. И большинство откликов были как раз таки вот такие, с бесполезными сертификатами, курсами, какими-то достижениями на codewars/timus/codeforce. Думаю, не стоит упоминать что такие люди даже не рассматриваются серьезно.
Понял, хороший развёрнутый ответ. Спасибо.
Скажи, а какие направления, тенденции ты видишь? Какие проекты будут показательными как самостоятельная работа, а какие сойдут за копипаст (на первый взгляд), хоть может ты даже к ним даже и прилогал усилий? Так сказать и мне любопытно и ТСу этим ответом поможешь, я думаю. 🙂
10 Jul 2020 в 07:11 #9
Понял, хороший развёрнутый ответ. Спасибо.
Ну автор не написал в какую область он собирается идти джуном. Сам проходил путь верстальщика и фронтендера, поэтому личный опыт имеется только там. Немного работал фулл-стэк разработчиком, но там была необходимость в этом на уже рабочем месте, поэтому собеседование не проходил.
Для верстальщика это, вполне очевидно, пару сверстанных макетов. Желательно разной сложности и с разными подходами (без всего, БЭМ, с Bootstrap, Mobile First). Чем больше разных макетов тем больше вероятность что люди заинтересуются. Не лезть к фреймворкам, препроцессорам, сборщика и прочему пока не научитесь верстать всё на чистом HTML и CSS. Собеседовал верстальщика который показал сверстанный резиновый макет на Bootstrap но не смог объяснить как реализована резиновая верстка. Довольно жалкое зрелище.
Для бэкэндера можно сделать простой клон твиттера или форума, чатик. Можно без дизайна, от вас его требовать никто не будет. Главное показать что вы знаете как сервер работает с вашим приложением и что происходит когда вы им пользуетесь. Знать что происходит за кулисами и на сервере. Опять же, усложнять можно до бесконечности и чем сложнее результат тем лучше. И, опять же, я бы сосредоточился на знании основного языка, а не на его фреймворках.
Нужно больше практики.
Если вы хотите больше практических заданий и владеете английским (или хотя бы умеете гуглить перевод), то у меня для вас хорошая новость! Пару дней назад Кирилл подсказал неплохой сайт-тренажер-задачник. Я его опробовал, и теперь опишу свои мысли. Ах да, сервис называется codewars и наверняка кто-то из вас уже слышал о нем.
Коротко о коудворс
Для меня лично codewars стал местом, где можно попрактиковать технику написания кода + узнать чужие, более интересные техники. Сервис реализован в стиле «восточных единоборств». Сам сайт уже не просто сайт, а – додзё; задачки – ката; вы – солдат, воин, а не просто студент-программист, а код-ревью – кумите, спарринг. Восточная тематика создает специфическую атмосферу – здесь хочется непрерывно развиваться и становиться искуссным мастером. Порадовала сегментация задачек-ката по сложности. В общем, заходи и развивайся, самурай!
Что такое ката?
Если по-простому, ката – это практическая задачка. Есть несколько уровней сложности: от 8 kyu до 1 kyu (возможно есть и другие, пока что мне не известные). Причем чем ниже кью, тем сложнее задача. Вот так выглядит страница с выбранной катой:
Верхний блок: Уровень сложности, название, статистика, выбор языка, «Приступить», «Пропустить». Нижний блок: Детали (условие задачи), Решения (открывается после того, как вы решите задачу), Форк каты, Обсуждения, Добавить в коллекцию (Избранное), кнопки расшаривания.
Как выглядит ката?
Ката выглядит вот так:
Слева – уровень сложности, название, статистика. Чуть ниже условия задачи и окошко вывода. Сверху справа можно выбрать язык, переключиться на дневной/ночной режим, режим редактора Vim или Emacs, полноэкранный режим. Ниже – окошко для написания решения, часть тестов (да-да, это не все тесты, их на самом деле больше).
Кстати, заметил только что, у меня на 12-дюймовом экране поползла верстка. И кнопки «Запустить Sample tests» и «Подтвердить решение» уплыли вниз за экран, и прокруткой их не достать =( Помогает небольшое сужение экрана по ширине.
Альтернативные решения задачи
Очень классно, что после прохождения каты можно увидеть решения других бойцов. Также интересна сортировка: Лучшая практика – рекомендуем использовать эти решения; креативность – красиво, интересно, но в продакшн лучше такое не писать; новые – новые решения вперед, старые – вначале старые решения. Т.е. сразу учимся и практичности, и креативности.
Кланы
Регистрируйтесь на codewars, вступайте в клан Hexlet, практикуйтесь, развивайтесь, соревнуйтесь и становитесь мастерами, а возможно и сенсеями в будущем! Если вы знаете еще какие-то фишки codewars, напишите о них в комментариях.
Первый опыт на Codewars
На данный момент я прошла 2 курса по Python: Сode Basics и самые основы на Хекслете. Это дало мне базовое знание синтаксиса, знакомство с тремя типами данных (строковые, числовые и кортежи) и с некоторыми видами циклов. Все эти базовые вещи, мне казалось, я хорошо поняла и усвоила.
После этого я переключилась на изучение настройки окружения и работы с Git. Но чтобы Python не забывался, я зарегистрировалась на Codewars — англоязычном сервисе с задачами по программированию.
Общие впечатления
За пару часов я решила 6 задач и перешла с последнего восьмого ранга на седьмой (самым крутым считается первый ранг). Но это не единственное достижение. Всего 6 задач сильно скорректировали мои представления о том, что я уже успела освоить в Python.
Первые задачки я решала за 5-10 минут каждую. Но даже знакомые конструкции я не сразу могла воспроизвести по памяти. Хотя изучение синтаксиса я старалась растягивать во времени и проходила параллельно с другими курсами. Это нужно, чтобы изучаемое забывалось и его приходилось припоминать. Такой способ считается эффективным для долгосрочного запоминания. Но видимо нужно было еще и просто больше практиковаться.
Сложная задача
Одну из 6 задач я решала около часа. Решила при помощи кортежей (единственный составной тип данных, который я знала в Python на тот момент) и двух циклов в одной функции. Выглядело громоздко, но все работало, и тесты проходили успешно. После часа сражений я была определенно горда собой. Оставалось только окончательно отправить решение. Но при попытке сабмита Codewars стал ругаться, что выполнение кода занимает слишком много времени и нужно его оптимизировать.
Надо сказать, что моим первым языком программирования был R. И я его выбрала после довольно обширного чтения на тему, что лучше R или Python. И R победил тогда в том числе и за свою хорошую работу с векторами как базовым типом данных. Когда данные помещаются в оперативной памяти, векторным вычислениям нет равных по скорости.
При решении первых задач на Codewars мне случилось узнать, что в Python для работы с векторами существуют специальные библиотеки, которые нужно импортировать. А также, что вместо векторов можно использовать списки. В тему я не углублялась, но решила попробовать списки для оптимизации и посмотреть, что будет.
Я заменила кортеж в своем решении на список, сделала необходимые правки с переводом строковых и числовых данных и, вуаля, Codewars понравилась моя оптимизация — решение прошло. Я стала еще больше гордиться собой, чем просто после зеленых тестов: как же, соединила прошлые знания с новыми. Но снова сюрприз.
После отправки моего решения мне стали доступны решения других людей для этой задачи. И я увидела, что вместо громоздкой функции с двумя циклами в лучших решениях была всего одна(!) строка с арифметическим действием. Я не заметила элементарную закономерность в исходных данных задачи! Вот это был урок.
Обязательно попробуйте свои силы на Codewars или аналогичных сервисах. Сильные эмоции гарантированы. Плюс, вы сможете отработать синтаксис вашего нового языка и алгоритмы решения задач. И прочувствуете ограничения тех конструкций языка, которые знаете на данный момент. Ну и конечно, сможете сравнить свое решение с сотнями и тысячами других — и с лучшими, и с худшими (решения имеют рейтинг и сортировку). Все это поможет лучше понять ваш текущий уровень в программировании и конкретном языке и замотивирует узнавать больше и глубже.
PS. У Хекслета на Codewars есть собственный клан. Если в него вступить, то можно соревноваться не только со всем миром, но и в пределах клана.


















