Го тренировать livecoding!
Сегодня делаем стрим по решению задач с собеседований, которые были в апреле
Будем решать вместе с вами примеры на темы замыканий, event loop, react и конструкций языка, а затем обсуждать подходы к решению таких же задач на собеседовании
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в🔺 бота (там нет ничего лишнего, только ссылки на стримы)
Главное — решать вместе с нами, так будет максимально интересно и полезно для реальных собеседований🫡
Сегодня делаем стрим по решению задач с собеседований, которые были в апреле
Будем решать вместе с вами примеры на темы замыканий, event loop, react и конструкций языка, а затем обсуждать подходы к решению таких же задач на собеседовании
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в
Главное — решать вместе с нами, так будет максимально интересно и полезно для реальных собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍7❤4⚡1👨💻1
Завезу немного мотивации
Смена работы, даже если вы знаете о ней за 3-6 месяцев, это стресс наравне со сменой квартиры или даже города, где вы живете
Я проходил это много раз, и каждый раз волновался как не в себя
Самое неприятное это страх неизвестности, непонятно что с рынком, получится ли устроиться на большее или придется соглашаться на меньшее
Эта проблема и у тех, кто получает сильно выше рынка: «А смогу ли я найти такую же оплачиваемую работу на сегодняшнем рынке?», и у тех, кто получает по низу рынка: «А могу ли я предтендовать на большее?»
Хочу рассказать немного наблюдений после того как мы помогли найти работу для 80-ти разработчиков:
1) Реальная середина рынка сейчас: 240-260 тысяч рублей net.
Что из этого вынести? Что достаточно на среднем уровне подготовиться, и мы видим что статистически у всех, кто реально работает над вопросом трудоустройства и имеет какой-то опыт, получается устраиваться в этом диапазоне.
2) Если идти на бОльшие оклады, то статистика по РФ у нас в группе такая: 20% разработчиков получают выше 300 тысяч рублей net. Возможно устроиться? Точно да, но в среднем надо иметь неплохой опыт и хорошо подготовиться.
3) Количество собеседований в 2026-м никак не проседает, не уменьшается, не увеличивается, с ним ничего не происходит проще говоря. Как звали в 2025-м, так и зовут в этом году.
4) Хорошие компании с приятными коллегами и адекватными процессами — есть, и их много. Есть и случаи, когда мы устраивались в компанию, оффер в которую лучше было бы не принимать, но такую ОС я вижу примерно от 10% выпускников. Это конечно очень много, но все-же большинство компаний адекватные. Статистически вы попадете в такую
Ну и каждый раз я выходил в рынок с мыслью, что все что с нами случается — к лучшему, просто так проекты не закрываются, люди не уходят из компаний.
Все у вас получится
Смена работы, даже если вы знаете о ней за 3-6 месяцев, это стресс наравне со сменой квартиры или даже города, где вы живете
Я проходил это много раз, и каждый раз волновался как не в себя
Самое неприятное это страх неизвестности, непонятно что с рынком, получится ли устроиться на большее или придется соглашаться на меньшее
Эта проблема и у тех, кто получает сильно выше рынка: «А смогу ли я найти такую же оплачиваемую работу на сегодняшнем рынке?», и у тех, кто получает по низу рынка: «А могу ли я предтендовать на большее?»
Хочу рассказать немного наблюдений после того как мы помогли найти работу для 80-ти разработчиков:
1) Реальная середина рынка сейчас: 240-260 тысяч рублей net.
Что из этого вынести? Что достаточно на среднем уровне подготовиться, и мы видим что статистически у всех, кто реально работает над вопросом трудоустройства и имеет какой-то опыт, получается устраиваться в этом диапазоне.
2) Если идти на бОльшие оклады, то статистика по РФ у нас в группе такая: 20% разработчиков получают выше 300 тысяч рублей net. Возможно устроиться? Точно да, но в среднем надо иметь неплохой опыт и хорошо подготовиться.
3) Количество собеседований в 2026-м никак не проседает, не уменьшается, не увеличивается, с ним ничего не происходит проще говоря. Как звали в 2025-м, так и зовут в этом году.
4) Хорошие компании с приятными коллегами и адекватными процессами — есть, и их много. Есть и случаи, когда мы устраивались в компанию, оффер в которую лучше было бы не принимать, но такую ОС я вижу примерно от 10% выпускников. Это конечно очень много, но все-же большинство компаний адекватные. Статистически вы попадете в такую
Ну и каждый раз я выходил в рынок с мыслью, что все что с нами случается — к лучшему, просто так проекты не закрываются, люди не уходят из компаний.
Все у вас получится
❤48🙏13👍7🔥3🕊1
А как у вас проходят праздники?)
У нас тут вопросы с собеседования в ozon 😏
Открывает наш топ задача на тему два указателя. В целом задачи на два указателя попадаются на собеседованиях довольно часто, но также легчайше решаются, если знать эту тему 👇
Задача 1:
Дальше задача на написание метода spyOn, который используется в Jest. Проверяет задача, по сути, контекст и методы его привязки. Мы редко видели ее в других компаниях, но в озоне ее дают почти на каждом собеседовании.
Задача 2:
Далее задача на написание compose. Немного напоминает школьную математику, когда есть несколько функций, которые вызываются по цепочке, передавая результат выполнения из вложенной функции. Например -> f(g(x)), только написать это нужно на js.
Также можно решить через reduceRight, но не уверен стоит ли решать через него. Разработчики довольно редко используют этот метод, а вот нейронки — спокойно) Поэтому все решения с reduceRight предлагал бы аккуратно.
Задача 3:
Также в задаче есть небольшой трюк с приведением типов..)
Еще в комментариях добавлю небольшую задачу на верстку, чтобы пост не получился слишком большим👋
На ней на можно отдохнуть и перевести дух, после предыдущих)
Если задачи были полезными, ставьте 👍 или пишите в комментариях какую компанию смотрим следующей)
@codepunks_bro
У нас тут вопросы с собеседования в ozon 😏
В отличии от других компаний, задачи у озона очень часто повторяются. Поэтому мы решили расставить их не в порядке, в котором они были на собеседовании, а в порядке популярности. То есть чем выше задача — тем чаще ее спрашивали на наших собеседованиях.
Открывает наш топ задача на тему два указателя. В целом задачи на два указателя попадаются на собеседованиях довольно часто, но также легчайше решаются, если знать эту тему 👇
Задача 1:
// Написать функцию которая проверяет
// есть ли в строке указанные символы
// важно чтобы символы шли в строке
// в той же последовательности,
// не обязательно подряд
function needleInHaystack(needle, haystack) {
...
return false;
}
needleInHaystack('whe', 'cartwheel') // true
needleInHaystack('crt', 'cartwheel') // true
needleInHaystack('ctr', 'cartwheel') // false
needleInHaystack('weee', 'cartwheel') // false
Дальше задача на написание метода spyOn, который используется в Jest. Проверяет задача, по сути, контекст и методы его привязки. Мы редко видели ее в других компаниях, но в озоне ее дают почти на каждом собеседовании.
Задача 2:
// Функция должна позволять отслеживать
// вызовы оригинальной функции
// не заменяя при этом её поведение
// Для хранения аргументов отслеживаемых вызовов
// необходимо использовать массив calls.
function spyOn(obj, key) {}
const person = {
firstName: "",
lastName: "",
update(fullName) {
const [firstName, lastName] = fullName.split(" ");
this.firstName = firstName;
this.lastName = lastName;
},
};
const spy = spyOn(person, "update");
person.update("Иван Иванов");
console.log(person.firstName, person.lastName); // Иван Иванов
person.update("Пётр Петров");
console.log(person.firstName, person.lastName); // Пётр Петров
console.log(spy.calls); // ['Иван Иванов', 'Пётр Петров']
Далее задача на написание compose. Немного напоминает школьную математику, когда есть несколько функций, которые вызываются по цепочке, передавая результат выполнения из вложенной функции. Например -> f(g(x)), только написать это нужно на js.
Также можно решить через reduceRight, но не уверен стоит ли решать через него. Разработчики довольно редко используют этот метод, а вот нейронки — спокойно) Поэтому все решения с reduceRight предлагал бы аккуратно.
То же кстати касается регулярок, наизусть синтаксис помнят не все, поэтому могут понять не так.
Задача 3:
// Нужно написать функцию compose,
// которая принимает функции
// и вызывает их задом наперёд.
const composedFn = compose(
a => a - 8, // Будет выполнена третьей
b => b ** 2, // Будет выполнена второй
(x, y) => y > 0 ? x + 3 : x - 3 // Будет выполнена первой
);
console.log(composeFn("3", 1)) // 1081
console.log(composeFn("3", 1)) // -8
Также в задаче есть небольшой трюк с приведением типов..)
Еще в комментариях добавлю небольшую задачу на верстку, чтобы пост не получился слишком большим
На ней на можно отдохнуть и перевести дух, после предыдущих)
Если задачи были полезными, ставьте 👍 или пишите в комментариях какую компанию смотрим следующей)
@codepunks_bro
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥14❤9
Софты на собеседовании. Часть 1.
1. Вопросы иногда запоминаются больше, чем ответы
После точных вопросов про проект остаётся ощущение, что человеку интересно. Он уже в контексте проекта. С ним просто по-человечески хочется работать.
При этом вопросы должны быть не шаблонные, а с попыткой понять как действительно все работает в компании глобально, и локально в команде:
— Постараться представить компанию целиком, что она делает? Зачем нужна?)
— Понять место продукта в компании, что именно он делает?
— Если продукт зарабатывает, то на чем?
— Если не зарабатывает, то зачем собрались? 🤔
— Какая проблема сейчас, какие точные ожидания от человека на эту позицию
— Какой стек и опыт нужен им? Что для них важно?
— А что дальше, через год? Какие планы, проблемы, вызовы?
Это создает впечатление какой-то осознанности, что ли. Сознательного намерения прийти на собеседование, понять как все устроено, понять подходишь ли ты сам для решения их проблемы, а не перекладывать решение на компанию. В общем со-трудничество :)
2. Не всегда стоит угадывать ответ, когда не знаешь
Кажется это идет со школы и универа. Но это ж не экзамен, и мы не пытаемся произвести впечатление или получить хороший балл.
В работе просто большой шанс, что мы потом не будем понимать друг друга, пытаясь скрыть какие-то недопонимания и произвести хорошее впечатление.
3. Анти-командная работа
Тут пойду от обратного)
Недавно был участником разговора в кафе, где тимлид команды рассказывал историю, как он одного сотрудника дословно: "сломал" а другого уволил. Это все было как одна длинная и интересная история, как будто из книги.
Но кто тогда нанимал этих разработчиков, что все так закончилось? Потому что крутость руководителя — не в том, что он такой сильный, что люди рядом не справляются. А в том, что неопытные люди рядом становятся опытными.
На позициях с командой очень важно:
1. Умеете ли вы проводить собеседования так, чтобы людей потом не нужно было увольнять?
2. Умеете ли вы объяснить задачу так, чтобы человек сделал её хорошо?
3. Можете ли вы взять человека сильнее себя — и не бояться, что он вас заменит?
4. Растут ли люди рядом с вами, или выгорают?
И если в этом списке были бы все пункты, истории выше точно можно было бы избежать)
Тема очень большая и неочевидная, поэтому если в посте было для вас что-то полезное или новое, поставьте 🔥, и постараюсь собрать второй пост про торги и позиционирование себя на собеседованиях, потому что там слишком много ошибочных моментов и тактик, которые в один пост не вмещаются)
@codepunks_bro
1. Вопросы иногда запоминаются больше, чем ответы
После точных вопросов про проект остаётся ощущение, что человеку интересно. Он уже в контексте проекта. С ним просто по-человечески хочется работать.
При этом вопросы должны быть не шаблонные, а с попыткой понять как действительно все работает в компании глобально, и локально в команде:
— Постараться представить компанию целиком, что она делает? Зачем нужна?)
— Понять место продукта в компании, что именно он делает?
— Если продукт зарабатывает, то на чем?
— Если не зарабатывает, то зачем собрались? 🤔
— Какая проблема сейчас, какие точные ожидания от человека на эту позицию
— Какой стек и опыт нужен им? Что для них важно?
— А что дальше, через год? Какие планы, проблемы, вызовы?
Это создает впечатление какой-то осознанности, что ли. Сознательного намерения прийти на собеседование, понять как все устроено, понять подходишь ли ты сам для решения их проблемы, а не перекладывать решение на компанию. В общем со-трудничество :)
Наверное у многих были друзья, которые ооочень много говорили, но мало слушали и интересовались, как у вас дела :)
Вот тут ощущение очень похожее, человек может быть сам по себе крутой, но какие-то важные для вас вопросы и проблемы лучше обсудить с тем, кто будет внимательно слушать.
2. Не всегда стоит угадывать ответ, когда не знаешь
Кажется это идет со школы и универа. Но это ж не экзамен, и мы не пытаемся произвести впечатление или получить хороший балл.
В работе просто большой шанс, что мы потом не будем понимать друг друга, пытаясь скрыть какие-то недопонимания и произвести хорошее впечатление.
Признаваться что «я не знаю» или «не работал с этим» — это сила, точно не слабость.
3. Анти-командная работа
Тут пойду от обратного)
Недавно был участником разговора в кафе, где тимлид команды рассказывал историю, как он одного сотрудника дословно: "сломал" а другого уволил. Это все было как одна длинная и интересная история, как будто из книги.
Но кто тогда нанимал этих разработчиков, что все так закончилось? Потому что крутость руководителя — не в том, что он такой сильный, что люди рядом не справляются. А в том, что неопытные люди рядом становятся опытными.
На позициях с командой очень важно:
1. Умеете ли вы проводить собеседования так, чтобы людей потом не нужно было увольнять?
2. Умеете ли вы объяснить задачу так, чтобы человек сделал её хорошо?
3. Можете ли вы взять человека сильнее себя — и не бояться, что он вас заменит?
4. Растут ли люди рядом с вами, или выгорают?
И если в этом списке были бы все пункты, истории выше точно можно было бы избежать)
Скорее всего, человек который в каком-то виде занимается менторством или помогает онбордить людей, работает со стажерами, нацелен на помощь и сотрудничество, а не на авторитарный контроль в команде и защиту своего места в компании.
Тема очень большая и неочевидная, поэтому если в посте было для вас что-то полезное или новое, поставьте 🔥, и постараюсь собрать второй пост про торги и позиционирование себя на собеседованиях, потому что там слишком много ошибочных моментов и тактик, которые в один пост не вмещаются)
@codepunks_bro
🔥49❤7👍6⚡1❤🔥1
С начала года мы тестировали новую активность: моковые собеседования между участниками комьюнити
И все больше идем к тому, чтобы это было обязательной частью для тех, кто активно ищет работу. Помимо работы с ментором — 4-7 мок-собеседований с другими выпускниками или разработчиками на рынке.
Их можно проходить в любое время, на заранее выбранную вами тему. И именно благодаря тому, что у всех очень разный и интересный опыт, в среднем 3.7 года, мок-собеседования проходят действительно интересно и сложно. И никогда не повторяются по темам и вопросам.
Шаг за шагом, мы набирали обороты с 10, 20, и вот в апреле поставили текущий рекорд: 59 мок-собеседований в группе.
От двух до шести участников на каждом.
У всех разный опыт, разные компании, и возможность собеседоваться и помогать друг другу хоть каждый день — это очень круто.
Главное качество, которое мне хочется, чтобы было у программистов, да и просто у людей в IT, это готовность помогать друг другу.
И в комьюнити собрались идеальные для этого люди👋
И все больше идем к тому, чтобы это было обязательной частью для тех, кто активно ищет работу. Помимо работы с ментором — 4-7 мок-собеседований с другими выпускниками или разработчиками на рынке.
Их можно проходить в любое время, на заранее выбранную вами тему. И именно благодаря тому, что у всех очень разный и интересный опыт, в среднем 3.7 года, мок-собеседования проходят действительно интересно и сложно. И никогда не повторяются по темам и вопросам.
Шаг за шагом, мы набирали обороты с 10, 20, и вот в апреле поставили текущий рекорд: 59 мок-собеседований в группе.
От двух до шести участников на каждом.
Не путать со статистикой реальных собеседований, календарь очень похож)
Полевых собеседований в апреле прошло 151, "тестовых" — 59
У всех разный опыт, разные компании, и возможность собеседоваться и помогать друг другу хоть каждый день — это очень круто.
Главное качество, которое мне хочется, чтобы было у программистов, да и просто у людей в IT, это готовность помогать друг другу.
И в комьюнити собрались идеальные для этого люди
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥19❤10🔥6👍3👨💻1
*когда на собеседовании ищешь пропавшую скобку)
Сегодня проведем стрим с решением лайвкодинг задач, майские праздники конечно играют не на нашей стороне, потому что эта неделя вопринимается рекуртерами как праздничная, что-ли)
Но тем не менее у нас прошло 22 интересных собеседования, задачи с которых мы будем смотреть на стриме и решать вместе с вами👋
Будем решать вместе с чатом, и брать все более интересные задачи в зависимости от того, сколько будет правильных ответов.
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в🔺 бота (там нет ничего лишнего, только ссылки на стримы)
Главное — решать вместе с нами, так будет интереснее всего🫡
Сегодня проведем стрим с решением лайвкодинг задач, майские праздники конечно играют не на нашей стороне, потому что эта неделя вопринимается рекуртерами как праздничная, что-ли)
Но тем не менее у нас прошло 22 интересных собеседования, задачи с которых мы будем смотреть на стриме и решать вместе с вами
Будем решать вместе с чатом, и брать все более интересные задачи в зависимости от того, сколько будет правильных ответов.
nextTask = allCorrect ? harderTask() : repeat()
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в
Главное — решать вместе с нами, так будет интереснее всего
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7❤5😈1
*когда не проходит один из тестов на литкоде 😅
Типы задач на livecoding. Часть 1.
Два указателя — одна из самых популярных тем из алго-секции на фронт-собеседованиях, и пока не теряет обороты.
Какие задачи в целом часто дают на фронт-собеседованиях?
- Алгоритмические (два указателя, скользящее окно, хэш-таблица, стек)
- Особенности языка (асинхронность, контекст, замыкания, метод промиса или массива)
- Основы фреймворка (рефакторинг, асинхронность, особенности)
В этой серии, мы посмотрим решения самых частых алгоритмических задач, потому что задачи на JS мы многократно решали на стримах, и наверняка вы и так их помните) 👇
Что в может указывать на то, что задача решается указателями?
— Отсортированный массив
— Два массива
— Палиндром
Задача 1. Вариация на TwoSum.
Наверняка все, кто заходил на литкод ее знают.
Дан массив чисел и target, нужно найти в массиве два числа, которые в сумме дают target.
Например: [1, 3, 5, 7, 9, 13]
Решение 1.
Если массив не отсортирован, то оптимальное решение -> обьект, где будут храниться все значения, которые мы уже прошли. Но про этот случай мы поговорим чуть позже.
Но если массив отсортирован, то это уже не будет лучшим решением по памяти, потому что нужно создавать обьект, который займет больше места чем указатели. Если поставить один указатель на первый элемент массива, а второй на последний, и в зависимости от того, больше их сумма чем target, или меньше, мы двигаем один из указателей.
Задача 2. Обьединить два отсортированных массива в один.
Частое решение в JS — собрать массивы через spread оператор, и далее отсортировать через sort(). И ононеверное 😅
Решение 2.
У задачи есть два варианта. Базовый и более интересный.
Если разрешено создавать новый массив, то просто ставим указатели на первые элементы массивов. Далее сравниваем их, какой меньше, такой и кладем в новый массив. Если элементы в одном из массивов закончились, то оставшиеся элементы во втором массиве просто добавляем в конец.
Если начать с первых элементов, можно затереть первый элемент, и получится не тот результат, который мы ожидаем)
Поэтому фишка этого варианта — делать все тоже самое, но начинать с последних элементов массива. Ну и само собой, записывать элементы тоже в конец. 🌚
Эта тема одна из самых популярных, следующая за ней по частоте и популярности -> скользящее окно, которая плавно выходит из темы указателей.
Если было интересно и такой формат разборов полезен — ставьте 👍, и мы сделаем следующие посты на оставшиеся частые темы с фронт-собеседований: скользящее окно, хэш-таблица.
@codepunks_bro
Типы задач на livecoding. Часть 1.
В прошлом посте с задачами с озона, мы немного коснулись темы два указателя. А в этом посте хотим разобрать ее полностью. 😎
Два указателя — одна из самых популярных тем из алго-секции на фронт-собеседованиях, и пока не теряет обороты.
Какие задачи в целом часто дают на фронт-собеседованиях?
- Алгоритмические (два указателя, скользящее окно, хэш-таблица, стек)
- Особенности языка (асинхронность, контекст, замыкания, метод промиса или массива)
- Основы фреймворка (рефакторинг, асинхронность, особенности)
В этой серии, мы посмотрим решения самых частых алгоритмических задач, потому что задачи на JS мы многократно решали на стримах, и наверняка вы и так их помните) 👇
Заметка: без знания алгоритмической сложности тема может быть непонятной.
Что в может указывать на то, что задача решается указателями?
— Отсортированный массив
— Два массива
— Палиндром
Задача 1. Вариация на TwoSum.
Наверняка все, кто заходил на литкод ее знают.
Дан массив чисел и target, нужно найти в массиве два числа, которые в сумме дают target.
Например: [1, 3, 5, 7, 9, 13]
Решение 1.
Если массив не отсортирован, то оптимальное решение -> обьект, где будут храниться все значения, которые мы уже прошли. Но про этот случай мы поговорим чуть позже.
Но если массив отсортирован, то это уже не будет лучшим решением по памяти, потому что нужно создавать обьект, который займет больше места чем указатели. Если поставить один указатель на первый элемент массива, а второй на последний, и в зависимости от того, больше их сумма чем target, или меньше, мы двигаем один из указателей.
function twoSumSorted(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left < right) {
const sum = arr[left] + arr[right];
if (sum === target) {
return [left, right];
} else if (sum < target) {
left++;
} else {
right--;
}
}
return null;
}Задача 2. Обьединить два отсортированных массива в один.
Частое решение в JS — собрать массивы через spread оператор, и далее отсортировать через sort(). И оно
Надо помнить, что sort() имеет линейно-логарифмическую сложность, то есть работает дольше, чем если мы просто пройдемся указателями по массивам: линейная сложность.
Решение 2.
У задачи есть два варианта. Базовый и более интересный.
Если разрешено создавать новый массив, то просто ставим указатели на первые элементы массивов. Далее сравниваем их, какой меньше, такой и кладем в новый массив. Если элементы в одном из массивов закончились, то оставшиеся элементы во втором массиве просто добавляем в конец.
Но в классическом варианте, все элементы нужно сложить в первый массив, не создавая дополнительных структур.
Если начать с первых элементов, можно затереть первый элемент, и получится не тот результат, который мы ожидаем)
Поэтому фишка этого варианта — делать все тоже самое, но начинать с последних элементов массива. Ну и само собой, записывать элементы тоже в конец. 🌚
function mergeSortedArraysInPlace(arr1, m, arr2, n) {
let i = m - 1;
let j = n - 1;
let k = m + n - 1;
while (i >= 0 && j >= 0) {
if (arr1[i] >= arr2[j]) {
arr1[k] = arr1[i];
i--;
} else {
arr1[k] = arr2[j];
j--;
}
k--;
}
// если в arr2 остался остаток
while (j >= 0) {
arr1[k] = arr2[j];
j--;
k--;
}
}Эта тема одна из самых популярных, следующая за ней по частоте и популярности -> скользящее окно, которая плавно выходит из темы указателей.
Если было интересно и такой формат разборов полезен — ставьте 👍, и мы сделаем следующие посты на оставшиеся частые темы с фронт-собеседований: скользящее окно, хэш-таблица.
@codepunks_bro
👍50❤14🔥9⚡1🤝1
Майские праздники конечно сильно влияют на найм, за одну неделю мая удалось собрать 26 собеседований в группе, что чуть меньше чем в обычные рабочие периоды.
А также три оффера:
6 800 долларов и релокация
306 тысяч net по ИП
1 100 000 тенге(176 тысяч рублей)
Кстати, офферы в тенге и в долларах получили два разработчика из Казахстана. Но разница в крупнейшем банке КЗ и на международном рынке конечно огромная.
Не густо, но для праздничной недели результаты хорошие) 🌚
А также три оффера:
6 800 долларов и релокация
306 тысяч net по ИП
1 100 000 тенге(176 тысяч рублей)
Кстати, офферы в тенге и в долларах получили два разработчика из Казахстана. Но разница в крупнейшем банке КЗ и на международном рынке конечно огромная.
Не густо, но для праздничной недели результаты хорошие) 🌚
🔥24👍12❤9⚡3
Почему сейчас фундаментальные знания важнее всего
Эту мысль подчеркивает Matt Pocock, создатель самых подробных разборов по TS, на конференции AI Engineer 👇
А также на фото анализ от Citadel Securities на основе данных Indeed
Это касается мирового рынка, но тренд положительный, и это видно по валютным офферам в мае и апреле, которые в группе занимают все больший процент с каждым месяцем
Поэтому я только хотел подчеркнуть важность не впадать в стадию "оцепенения" или стагнации на кризисах и неоднозначной экономике, такие периоды были всегда
За каждым спадом всегда идет рост
Не теряем хватку, забираем лучшее👋
Эту мысль подчеркивает Matt Pocock, создатель самых подробных разборов по TS, на конференции AI Engineer 👇
Главная проблема замещения программистов — контекст проекта, бизнеса, который сложно передать через .md файл
90% разработчиков не доверяют, и проверяют по несколько раз код после генерации, оставаясь главным проводником качества и ответственности за проект
Еще кто-то должен нанимать, обучать людей, и планировать рост проекта на большом масштабе
А также на фото анализ от Citadel Securities на основе данных Indeed
Это касается мирового рынка, но тренд положительный, и это видно по валютным офферам в мае и апреле, которые в группе занимают все больший процент с каждым месяцем
Поэтому я только хотел подчеркнуть важность не впадать в стадию "оцепенения" или стагнации на кризисах и неоднозначной экономике, такие периоды были всегда
За каждым спадом всегда идет рост
Не теряем хватку, забираем лучшее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍16🔥2
Как удобнее всего оплачивать зарубежные сервисы?
Вообще вариантов очень много, самый базовый и на все случаи: eResidency Казахстана и карта Freedom Bank. Я сам им пользуюсь, но чтобы получить резиденство КЗ нужно будет отдать 120$, зато оформление карты бесплатное. Пластиковую карту можно доставить в любой город России.
На втором месте, карта ByBit, также можно заказать пластиковую карту, но чуть менее удобно пополнять, и это не банк, поэтому доверия чуть меньше. Но думаю что это нормальный вариант для небольших сумм и тоже ей пользуюсь.
И дальше, для меня, идут виртуальные карты, например WantToPayBot, но в итоге с комиссиями при регулярных переводах выходит дороже, чем если сделать свою карту в банке. Также этим способом оплатить можно не все сервисы, например с claude очень сложно.
А как вы оплачиваете сервисы?
Вообще вариантов очень много, самый базовый и на все случаи: eResidency Казахстана и карта Freedom Bank. Я сам им пользуюсь, но чтобы получить резиденство КЗ нужно будет отдать 120$, зато оформление карты бесплатное. Пластиковую карту можно доставить в любой город России.
На втором месте, карта ByBit, также можно заказать пластиковую карту, но чуть менее удобно пополнять, и это не банк, поэтому доверия чуть меньше. Но думаю что это нормальный вариант для небольших сумм и тоже ей пользуюсь.
И дальше, для меня, идут виртуальные карты, например WantToPayBot, но в итоге с комиссиями при регулярных переводах выходит дороже, чем если сделать свою карту в банке. Также этим способом оплатить можно не все сервисы, например с claude очень сложно.
А как вы оплачиваете сервисы?
❤7👍3🔥3🙏1
*когда решал задачу на стриме, но на собеседовании делаешь вид, что видишь ее в первый раз
Сегодня четверг, а значит мы по традиции собираемся решать задачи с livecoding секций 🤓
В этом месяце это последний стрим по livecoding, потому что у нас в подготовке еще несколько стримов с hr и много всего интересного
Будем решать все задачи вместе с вами в чате, и разбирать решения пока все ответы не будут правильными) 👇
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в🔺 бота (там нет ничего лишнего, только ссылки на стримы)
@codepunks_bro
Сегодня четверг, а значит мы по традиции собираемся решать задачи с livecoding секций 🤓
В этом месяце это последний стрим по livecoding, потому что у нас в подготовке еще несколько стримов с hr и много всего интересного
Будем решать все задачи вместе с вами в чате, и разбирать решения пока все ответы не будут правильными) 👇
nextTask = allCorrect ? harderTask() : repeat()
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в
@codepunks_bro
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19🤓9❤8👍6🆒1
Что могут спросить на собеседовании по теории TS?
Собрал самые популярные вопросы с наших собеседований, со ссылкой на официальную документацию по каждому пункту.
Основы
▸ Что такое TypeScript и зачем он нужен? → TypeScript с нуля
▸ Чем TypeScript отличается от JavaScript? → TS за 5 минут
▸ Что такое статическая типизация? → Базовые типы
▸ Какие базовые типы есть в TypeScript? → Everyday Types
▸ Что такое вывод типов (type inference)? → Type Inference
Специальные типы
▸ В чём разница между
▸ Когда использовать тип
▸ Что такое
Составные типы
▸ Что такое union types? → Union Types
▸ Что такое intersection types? → Intersection Types
▸ Что такое литеральные типы? → Literal Types
▸ Чем enum отличается от union литералов? → Enums
▸ Что такое кортежи (tuple types)? → Tuple Types
Объекты и интерфейсы
▸ В чём разница между
▸ Как объявлять необязательные и
▸ Что такое индексные сигнатуры? → Index Signatures
Сужение типов
▸ Что такое type narrowing? → Narrowing
▸ Что такое type guards и assertion functions? → Type Predicates
▸ Что такое discriminated unions? → Discriminated Unions
Операторы типов
▸ Что делает оператор
▸ Чем отличается
▸ Что такое
▸ Для чего нужен оператор
Дженерики и продвинутые типы
▸ Что такое дженерики и зачем они нужны? → Generics
▸ Как ограничивать дженерики через
▸ Что такое параметры дженериков по умолчанию? → Default Type Parameters
▸ Что такое условные типы? → Conditional Types
▸ Как работает
▸ Что такое mapped types? → Mapped Types
▸ Какие utility types самые полезные? → Utility Types
Функции и классы
▸ Как описывать тип функции? → Functions
▸ Что такое перегрузка функций? → Function Overloads
▸ Как типизировать
▸ Какие возможности типизации есть у классов? → Classes
▸ Что такое абстрактные классы и
▸ Что такое декораторы в TypeScript? → Decorators
Конфигурация и модули
▸ Как устроены модули и импорты? → Modules
▸ Ключевые опции
React + TypeScript
▸ Как типизировать React-компонент и его props? → React + TypeScript
▸ Как типизировать
Это была именно теория, конечно нередко встречается именно практический блок с задачами.
Подготовиться к нему очень помогает написание своих утилитарных типов, а также прорешивание типовых задач с собеседований.
Если тему задач по TS тоже стоит раскрыть подробнее, ставьте 👍 и мы соберем все что у нас встречалось на собеседованиях в отдельный пост🫡
По любым вопросам, если что, отвечаю тут) @codepunks_bro
Собрал самые популярные вопросы с наших собеседований, со ссылкой на официальную документацию по каждому пункту.
Я в целом стараюсь придерживаться формулировок на собеседованиях исходя официальной документации, это решает очень много "холиварных" вопросов.
Основы
▸ Что такое TypeScript и зачем он нужен? → TypeScript с нуля
▸ Чем TypeScript отличается от JavaScript? → TS за 5 минут
▸ Что такое статическая типизация? → Базовые типы
▸ Какие базовые типы есть в TypeScript? → Everyday Types
▸ Что такое вывод типов (type inference)? → Type Inference
Специальные типы
▸ В чём разница между
any и unknown? → unknown в функциях▸ Когда использовать тип
never? → The never type▸ Что такое
void и когда он нужен? → voidСоставные типы
▸ Что такое union types? → Union Types
▸ Что такое intersection types? → Intersection Types
▸ Что такое литеральные типы? → Literal Types
▸ Чем enum отличается от union литералов? → Enums
▸ Что такое кортежи (tuple types)? → Tuple Types
Объекты и интерфейсы
▸ В чём разница между
type и interface? → type vs interface▸ Как объявлять необязательные и
readonly свойства? → Optional & Readonly▸ Что такое индексные сигнатуры? → Index Signatures
Сужение типов
▸ Что такое type narrowing? → Narrowing
▸ Что такое type guards и assertion functions? → Type Predicates
▸ Что такое discriminated unions? → Discriminated Unions
Операторы типов
▸ Что делает оператор
keyof? → keyof Type Operator▸ Чем отличается
typeof в типах от typeof в JS? → typeof Type Operator▸ Что такое
as const? → Type Assertions▸ Для чего нужен оператор
satisfies? → satisfies в TS 4.9Дженерики и продвинутые типы
▸ Что такое дженерики и зачем они нужны? → Generics
▸ Как ограничивать дженерики через
extends? → Generic Constraints▸ Что такое параметры дженериков по умолчанию? → Default Type Parameters
▸ Что такое условные типы? → Conditional Types
▸ Как работает
infer в условных типах? → Inferring with infer▸ Что такое mapped types? → Mapped Types
▸ Какие utility types самые полезные? → Utility Types
Функции и классы
▸ Как описывать тип функции? → Functions
▸ Что такое перегрузка функций? → Function Overloads
▸ Как типизировать
this в функции? → Declaring this▸ Какие возможности типизации есть у классов? → Classes
▸ Что такое абстрактные классы и
implements? → Abstract Classes▸ Что такое декораторы в TypeScript? → Decorators
Конфигурация и модули
▸ Как устроены модули и импорты? → Modules
▸ Ключевые опции
tsconfig.json → TSConfig ReferenceReact + TypeScript
▸ Как типизировать React-компонент и его props? → React + TypeScript
▸ Как типизировать
children в React? → React TS CheatsheetЭто была именно теория, конечно нередко встречается именно практический блок с задачами.
Подготовиться к нему очень помогает написание своих утилитарных типов, а также прорешивание типовых задач с собеседований.
Если тему задач по TS тоже стоит раскрыть подробнее, ставьте 👍 и мы соберем все что у нас встречалось на собеседованиях в отдельный пост
По любым вопросам, если что, отвечаю тут) @codepunks_bro
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44❤21🔥9⚡1
Отзывы | Тихон
Voice message
Ооочень крутой отзыв от участника комьюнити 👀
Немного расскажу предистории, но не раскрывая все карты)
Искали полную удаленку, в международную компанию с зарплатой от 3.500 $, и за 2.5 месяца активного участия дошли до результата с первых собеседований 😎
0:30 самостоятельный поиск
01:20 что понравилось
01:40 как работали с ментором :D
02:00 после выхода на рынок
02:25 срок до оффера
02:45 про ментора
03:30 про комьюнити
03:50 после трудоустройства
04:30 общие впечатления)
Всегда круто и интересно работать с талантливыми разработчиками, и вместе делать стабильный результат👋
Автор: @solnotka❤️
Немного расскажу предистории, но не раскрывая все карты)
Искали полную удаленку, в международную компанию с зарплатой от 3.500 $, и за 2.5 месяца активного участия дошли до результата с первых собеседований 😎
0:30 самостоятельный поиск
01:20 что понравилось
01:40 как работали с ментором :D
02:00 после выхода на рынок
02:25 срок до оффера
02:45 про ментора
03:30 про комьюнити
03:50 после трудоустройства
04:30 общие впечатления)
Всегда круто и интересно работать с талантливыми разработчиками, и вместе делать стабильный результат
Автор: @solnotka
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤4⚡3🤩2👍1
🌚19🤓12✍10😭7🏆6
Когда делаешь ревью резюме каждый день, в голову приходят разные идеи..)
Так мы в комьюнити автоматизировали и проверяем присутствие базовых блоков и других вещей, которые могут парситься ATS-ками и интерпретироваться по-разному.
Но финальное ревью всегда остается за hr и менторами. Просто рутинные и неочевидные вещи иногда лучше парсить и смотреть в боте.
Например, кажется что для людей кириллица и латиница выглядят одинаково, и это так, но любая ATS видит символы сразу.
Проще говоря, чтобы проходить фильтры, мы написали свои фильтры 🌚
👇 А если у вас задача написать резюме или доработать 👇
То завтра у нас будет стрим с рекрутером и ментором, где мы будем смотреть резюме разработчиков и прогонять через бота🫡
Это в 100 раз лучше и на 800р дешевле чем платный разбор от hh 😅
Также можете отправлять ваши резюме мне на @codepunks_bro или под этим постом
А завтра мы все их посмотрим и постараемся дать максимально полезную ОС 👍
Так мы в комьюнити автоматизировали и проверяем присутствие базовых блоков и других вещей, которые могут парситься ATS-ками и интерпретироваться по-разному.
Но финальное ревью всегда остается за hr и менторами. Просто рутинные и неочевидные вещи иногда лучше парсить и смотреть в боте.
Например, кажется что для людей кириллица и латиница выглядят одинаково, и это так, но любая ATS видит символы сразу.
Проще говоря, чтобы проходить фильтры, мы написали свои фильтры 🌚
👇 А если у вас задача написать резюме или доработать 👇
То завтра у нас будет стрим с рекрутером и ментором, где мы будем смотреть резюме разработчиков и прогонять через бота
Это в 100 раз лучше и на 800р дешевле чем платный разбор от hh 😅
Также можете отправлять ваши резюме мне на @codepunks_bro или под этим постом
А завтра мы все их посмотрим и постараемся дать максимально полезную ОС 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍12❤4👀2
Сегодня мы с рекрутером Таней и ментором из команды, будем смотреть резюме, прогонять через бота
Надеюсь, что получится увеличить конверсии и обменяться опытом 👍
Все резюме будем смотреть вместе с вами в чате, каждый на стриме может помочь коллеге и подсветить моменты, если на что-то упадет взгляд)
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в🔺 бота (там нет ничего лишнего, только ссылки на стримы)
Активное участие максимально приветствуется, будем вместе приводить наши резюме к оптимальному виду)
Отправляйте cv'шки в комментарии 👇
Надеюсь, что получится увеличить конверсии и обменяться опытом 👍
Все резюме будем смотреть вместе с вами в чате, каждый на стриме может помочь коллеге и подсветить моменты, если на что-то упадет взгляд)
🗓 Четверг
⏰ 20:00
📍 Ссылка придет в
Активное участие максимально приветствуется, будем вместе приводить наши резюме к оптимальному виду)
Отправляйте cv'шки в комментарии 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥8👍5🤩1