#backend #полезное
Вопросы с недавнего собеседования на позицию middle backend node.js разработчика🧐
1. Расскажите о способах улучшения производительности Node.js приложения, использующего Express.js
2. Что такое профилирование и какие инструменты или методы можно использовать для профилирования?
3. Что такое EventLoop в Node.js и как он связан с производительностью backend части?
4. Расскажите о плюсах и минусах индексов в БД
Присоединяйтесь к нашему общему чату и Discord серверу :)
Вопросы с недавнего собеседования на позицию middle backend node.js разработчика🧐
1. Расскажите о способах улучшения производительности Node.js приложения, использующего Express.js
2. Что такое профилирование и какие инструменты или методы можно использовать для профилирования?
3. Что такое EventLoop в Node.js и как он связан с производительностью backend части?
4. Расскажите о плюсах и минусах индексов в БД
Присоединяйтесь к нашему общему чату и Discord серверу :)
🔥6
#backend #полезно
Небольшое дополнение к предыдущему посту🧐
1. Расскажите, что такое индексы, какие бывают и как работают изнутри
2. Масштабирование: горизонтальное и вертикальное. Что это такое и в чём отличия?
3. Сборщик мусора в js: примеры работы
4. Глобальные объекты в js
5. Преимущества nest над express
6. worker's node.js
7. С какими БД работал. Отличия nosql/sql баз данных
8. Транзакции в БД, их отличия в нереляционных БД. Примеры использования
Присоединяйтесь к нашему общему чату и Discord серверу :)
Небольшое дополнение к предыдущему посту🧐
1. Расскажите, что такое индексы, какие бывают и как работают изнутри
2. Масштабирование: горизонтальное и вертикальное. Что это такое и в чём отличия?
3. Сборщик мусора в js: примеры работы
4. Глобальные объекты в js
5. Преимущества nest над express
6. worker's node.js
7. С какими БД работал. Отличия nosql/sql баз данных
8. Транзакции в БД, их отличия в нереляционных БД. Примеры использования
Присоединяйтесь к нашему общему чату и Discord серверу :)
🔥5👍1
#backend #полезное
Задачка с последнего собеса подписчика на позицию middle backend node.js🧐
В каком порядке будет вывод?
Правильный ответ 🤨:
// start 0.1
// start 0.2
// start 0.3
// finish 0.3
// finish 0.3
// finish 0.3
Присоединяйтесь к нашему общему чату и Discord серверу :)
Задачка с последнего собеса подписчика на позицию middle backend node.js🧐
В каком порядке будет вывод?
(async () => {
const testFunction = async function() {
this.traceId = Math.random() // 0.1
console.log('start', this.traceId); //
await new Promise(r => setTimeout(r))(r => setTimeout(r))
console.log('finish', this.traceId);
}
testFunction();
testFunction();
testFunction();
})()Правильный ответ 🤨:
// start 0.2
// start 0.3
// finish 0.3
// finish 0.3
// finish 0.3
Присоединяйтесь к нашему общему чату и Discord серверу :)
🔥6
#any #полезно
👉 Мы возвращаемся.
Разгребли жизненные ситуации и врываемся писать контент для вас), ждите постов на тематику тегов в закрепленном сообщении.
Присоединяйтесь к нашему общему чату и Discord серверу :)
👉 Мы возвращаемся.
Разгребли жизненные ситуации и врываемся писать контент для вас), ждите постов на тематику тегов в закрепленном сообщении.
Присоединяйтесь к нашему общему чату и Discord серверу :)
Telegram
BlissCodeChat
🤖 Основной канал:
- https://t.me/blisscodehub
- https://t.me/blisscodehub
❤9
#backend #полезно
Разберем интересный вопрос с собеса на backend node.js (middle позиция) разработчика -
1. Для сложных структур данных и запросов автогенерированные запросы иногда могут быть неэффективны по сравнению с ручным написанием SQL. В пример приведём ситуацию, когда ORM может вызвать проблему с производительностью при выполнении сложных операций, таких как n+1 запросы - то есть, при извлечении связанных сущностей делается несколько отдельных запросов, вместо одного(можно отнести сюда TypeORM).
Как это лечить?
- Использование JOIN в запросах для извлечения связанных данных за один раз вместо множественных запросов для каждого объекта
- ORM Prisma поддерживают пакетную загрузку, объединяя несколько однотипных запросов в один
2. ORM стремится абстрагировать работу с БДшкой, но это не всегда возможно. Разрабу всё равно приходится юзать SQL, так как абстракция ORM не всегда успешно охватывает всю сложность взаимодействия. Например, когда речь идёт о сложных операциях - агрегациях данных, составных запросах или использовании специфичных для БД функций (окна PostgreSQL)
3. Проблема с несрабатывающим уникальным индексом в TypeORM - возникает, если в таблице уже присутствуют дубликаты, что нарушает работу механизма уникальности. Лечить можно ручной корректировкой миграций или удалением дубликатов до выполнения миграции
4. TypeORM может некорректно сгенерировать SQL-запрос для блокировки строки с помощью FOR UPDATE или других методов. Если блокировка реализована неправильно, может возникнуть ситуация, когда строки не блокируются, что приведет к несогласованности данных, когда два запроса параллельно обновляют одно и то же значение.
Присоединяйтесь к нашему общему чату и Discord серверу :)
Разберем интересный вопрос с собеса на backend node.js (middle позиция) разработчика -
Расскажите о минусах ORM🧐 1. Для сложных структур данных и запросов автогенерированные запросы иногда могут быть неэффективны по сравнению с ручным написанием SQL. В пример приведём ситуацию, когда ORM может вызвать проблему с производительностью при выполнении сложных операций, таких как n+1 запросы - то есть, при извлечении связанных сущностей делается несколько отдельных запросов, вместо одного(можно отнести сюда TypeORM).
Как это лечить?
- Использование JOIN в запросах для извлечения связанных данных за один раз вместо множественных запросов для каждого объекта
- ORM Prisma поддерживают пакетную загрузку, объединяя несколько однотипных запросов в один
2. ORM стремится абстрагировать работу с БДшкой, но это не всегда возможно. Разрабу всё равно приходится юзать SQL, так как абстракция ORM не всегда успешно охватывает всю сложность взаимодействия. Например, когда речь идёт о сложных операциях - агрегациях данных, составных запросах или использовании специфичных для БД функций (окна PostgreSQL)
3. Проблема с несрабатывающим уникальным индексом в TypeORM - возникает, если в таблице уже присутствуют дубликаты, что нарушает работу механизма уникальности. Лечить можно ручной корректировкой миграций или удалением дубликатов до выполнения миграции
4. TypeORM может некорректно сгенерировать SQL-запрос для блокировки строки с помощью FOR UPDATE или других методов. Если блокировка реализована неправильно, может возникнуть ситуация, когда строки не блокируются, что приведет к несогласованности данных, когда два запроса параллельно обновляют одно и то же значение.
Присоединяйтесь к нашему общему чату и Discord серверу :)
🔥8❤🔥1❤1
#frontend #полезно
Делюсь найденными ютуб-каналами с записями hr и тех-собесов на позицию frontend-разработчика с указанием зарплатных вилок.
Очень полезный материал, который отражает весь процесс найма. Стоит отметить, что из года в год особо ничего не меняется :) Как спрашивали топ-100 вопросов с щипоткой личных экспериментов в виде лайвкодинга так и спрашивают.
Будет полезно не только для фронтендеров. Можно подчерпнуть для себя общую инфу - как кандидат рассказывает о себе и обязанностях, которые были на него возложены на предыдущем месте работы.
1) https://www.youtube.com/@daniil_maximum/videos
2) https://www.youtube.com/@frontend-m0ney/videos
3) https://www.youtube.com/@brave_interviews/videos
4) https://www.youtube.com/@sanya-it/videos
5) https://www.youtube.com/@coder-interviews/videos
Присоединяйтесь к нашему общему чату и Discord серверу :)
Делюсь найденными ютуб-каналами с записями hr и тех-собесов на позицию frontend-разработчика с указанием зарплатных вилок.
Очень полезный материал, который отражает весь процесс найма. Стоит отметить, что из года в год особо ничего не меняется :) Как спрашивали топ-100 вопросов с щипоткой личных экспериментов в виде лайвкодинга так и спрашивают.
Будет полезно не только для фронтендеров. Можно подчерпнуть для себя общую инфу - как кандидат рассказывает о себе и обязанностях, которые были на него возложены на предыдущем месте работы.
1) https://www.youtube.com/@daniil_maximum/videos
2) https://www.youtube.com/@frontend-m0ney/videos
3) https://www.youtube.com/@brave_interviews/videos
4) https://www.youtube.com/@sanya-it/videos
5) https://www.youtube.com/@coder-interviews/videos
Присоединяйтесь к нашему общему чату и Discord серверу :)
YouTube
Даниил Maximum
🎯 Даниил Maximum — канал про Frontend, собеседования в IT и мою жизнь как разработчика.
Я — Senior Frontend (React) из Сибири. Помогаю другим заходить в IT на достойные деньги — от 250К с нуля.
📈 Что я прошёл:
• Получил оффер на 350К
• Прошёл все этапы собеса…
Я — Senior Frontend (React) из Сибири. Помогаю другим заходить в IT на достойные деньги — от 250К с нуля.
📈 Что я прошёл:
• Получил оффер на 350К
• Прошёл все этапы собеса…
❤8👍1🔥1
#backend #полезно
1 / 2 Мой первый оффер на позицию junior backend node.js разраба, в компанию, занимающуюся окнами 🧐
N лет назад я работал на фрилансе + параллельно подрабатывал на офис в другой стране. С таким ритмом жизни мне это всё дело очень сильно начало надоедать, так как тебе с 0 нужно продумывать архитектуру, общаться с заказчиком, а порой за него и додумывать как это должно быть(некая неопределенность с его стороны), та и в целом сильно много и неоправданно времени уходило на работу. Решено было пойти собеситься!
"Но как готовиться? Что говорить про себя? Как составить резюме и откликаться?" - и это только часть вопросов в моей голове, ну и ко всему этому "А что если я не справлюсь. Уволят ведь"(синдром самозванца)
С Дмитрием созвонились, почекали чужие резюме и накидали уже более-менее то, с чем можно было бы пойти на собесы. Вот тут мы плавно подошли к откликам на вакансии HH. Около недели откликов, постоянного редактирования/дополнения резюмешки и скриннингов с HR'ками дали свои плоды, меня позвали на 2 собеса - в стартап(о нём интересная история будет позже) на позицию jun+ и в крупную фирму, занимающуюся окнами(как я позже выяснил в моём доме они тоже ставили окна)
Подготовка
На протяжении недели я дёргал разную полезную инфу с инета к себе. Остались ровно сутки, чтобы закрепить материал и повторить всё по чеклисту, коряво составленному самостоятельно по собесам с Ютуба + очень хорошему чеклисту с канала UlbiTV. Вроде всё повторил, но состояние подавленности и нежелание идти на собес начинает понемногу меня пересиливать. Такое неприятное состояние испытывал я всего несколько раз в жизни, но чтобы по такому пустяку как собес - впервые. Это сейчас я понимаю, что ничего страшного в собеседованиях нет, вакансий тысячи и спокойно можно откликаться на все :)
Первый собес
Несколько часов до собеса(с учётом переноса с их стороны). Люто переживаю, перебираю разные варианты успокоить себя и вот что мне помогло:
• Стоять под холодной водой около минуты. Таким образом, высвобождается кортизол — гормон стресса, а также происходит всплеск бета-эндорфиновых гормонов, что в некоторых случаях вызывает даже эйфорию
• Небольшая физическая нагрузка: приседания, отжимания и т.п
• Крепкий зелёный чай
• Постоянное проговаривание, что фирм тысячи и один собес, особенно первый, ничего не решит и это очень полезный опыт
Уверенный в успешном прохождении собеса я подключаюсь в Google Meet, там уже меня ждала HR, а после подключились лид проекта и какой-то из разрабов. Сходу лид поздоровался и сказал, что интервью будет состоять из 3-х частей: мой рассказ об опыте, тех часть(теория + задачка), мои вопросы об их проекте. Расскажу чуть подробнее о каждом из этапов ниже👇
Присоединяйтесь к нашему общему чату и Discord серверу :)
1 / 2 Мой первый оффер на позицию junior backend node.js разраба, в компанию, занимающуюся окнами 🧐
N лет назад я работал на фрилансе + параллельно подрабатывал на офис в другой стране. С таким ритмом жизни мне это всё дело очень сильно начало надоедать, так как тебе с 0 нужно продумывать архитектуру, общаться с заказчиком, а порой за него и додумывать как это должно быть(некая неопределенность с его стороны), та и в целом сильно много и неоправданно времени уходило на работу. Решено было пойти собеситься!
"Но как готовиться? Что говорить про себя? Как составить резюме и откликаться?" - и это только часть вопросов в моей голове, ну и ко всему этому "А что если я не справлюсь. Уволят ведь"(синдром самозванца)
С Дмитрием созвонились, почекали чужие резюме и накидали уже более-менее то, с чем можно было бы пойти на собесы. Вот тут мы плавно подошли к откликам на вакансии HH. Около недели откликов, постоянного редактирования/дополнения резюмешки и скриннингов с HR'ками дали свои плоды, меня позвали на 2 собеса - в стартап(о нём интересная история будет позже) на позицию jun+ и в крупную фирму, занимающуюся окнами(как я позже выяснил в моём доме они тоже ставили окна)
Подготовка
На протяжении недели я дёргал разную полезную инфу с инета к себе. Остались ровно сутки, чтобы закрепить материал и повторить всё по чеклисту, коряво составленному самостоятельно по собесам с Ютуба + очень хорошему чеклисту с канала UlbiTV. Вроде всё повторил, но состояние подавленности и нежелание идти на собес начинает понемногу меня пересиливать. Такое неприятное состояние испытывал я всего несколько раз в жизни, но чтобы по такому пустяку как собес - впервые. Это сейчас я понимаю, что ничего страшного в собеседованиях нет, вакансий тысячи и спокойно можно откликаться на все :)
Первый собес
Несколько часов до собеса(с учётом переноса с их стороны). Люто переживаю, перебираю разные варианты успокоить себя и вот что мне помогло:
• Стоять под холодной водой около минуты. Таким образом, высвобождается кортизол — гормон стресса, а также происходит всплеск бета-эндорфиновых гормонов, что в некоторых случаях вызывает даже эйфорию
• Небольшая физическая нагрузка: приседания, отжимания и т.п
• Крепкий зелёный чай
• Постоянное проговаривание, что фирм тысячи и один собес, особенно первый, ничего не решит и это очень полезный опыт
Уверенный в успешном прохождении собеса я подключаюсь в Google Meet, там уже меня ждала HR, а после подключились лид проекта и какой-то из разрабов. Сходу лид поздоровался и сказал, что интервью будет состоять из 3-х частей: мой рассказ об опыте, тех часть(теория + задачка), мои вопросы об их проекте. Расскажу чуть подробнее о каждом из этапов ниже👇
Присоединяйтесь к нашему общему чату и Discord серверу :)
Telegram
BlissCodeHub
#frontend #about
Всех приветствую 🐺
Я Дмитрий, мне также 20 лет как и автору выше, занимаюсь frontend разработкой на React. В этом блоге буду рассказывать о том, чего нахватался в разработке за это время и о мире IT в целом.
Во время работы во…
Всех приветствую 🐺
Я Дмитрий, мне также 20 лет как и автору выше, занимаюсь frontend разработкой на React. В этом блоге буду рассказывать о том, чего нахватался в разработке за это время и о мире IT в целом.
Во время работы во…
❤4 1
2 / 2 Рассказ об опыте
В целом тут можно сократить до такой формулы - где и сколько работал, какой стек и технологии, как организовывалась работа и создание фичей, что интересного/неинтересного делал, почему уходишь с предыдущего места
Тех часть
На удивление, теория была ну очень не сложная и я не ответил только на 1 вопрос, связанный с внутрянкой EventLoop в node.js. Вот список некоторых вопросов:
- В чём преимущества node.js?
- Какие способы итерации вы знаете в js?
- расскажите об async/await, что это?
- кратко расскажите принцип работы EventLoop в node.js и его отличие от EventLoop в браузере
Стандартная теория, ответы на которую почти везде есть, поэтому никаких проблем ответить на неё не было
А также, простая задачка - "Напишите функцию, которая разворачивает массив и выводит в консоль элементы: [1,2,3, [4,5,6], 8, [9]] -> 1,2,3,4,5,6,7,8,9". И с ней я тоже справился, хоть и немного затянул
Мои вопросы об их проекте (всё стандартно)
- Расскажите о стеке проекта
- Какая архитектура
- Сколько человек команда
- Как выстроен процесс разработки
Оффер и отказ от него
Через пару часов мне дали оффер(он был в виде фидбека от HR в лс, с поздравлением об успешном прохождении собеса и предложением пойти к ним работать). В тот момент я так сильно, мягко говоря, удивился, радости не было предела. Но я задался вопросом, а нужно ли мне сидеть на уже не актуальном стеке - Node.js без фреймворков(чистый), ведь таких проектов почти нет и нужно расти в знаниях. Дальше ведь будет тяжело идти по собесам, если долгое время просидел на чём-то устаревшем. И я отказался от оффера, в пользу следующих собеседований, где получил оффер на зп чуть больше и проект с актуальными технологиями🔥
Присоединяйтесь к нашему общему чату и Discord серверу :)
В целом тут можно сократить до такой формулы - где и сколько работал, какой стек и технологии, как организовывалась работа и создание фичей, что интересного/неинтересного делал, почему уходишь с предыдущего места
Тех часть
На удивление, теория была ну очень не сложная и я не ответил только на 1 вопрос, связанный с внутрянкой EventLoop в node.js. Вот список некоторых вопросов:
- В чём преимущества node.js?
- Какие способы итерации вы знаете в js?
- расскажите об async/await, что это?
- кратко расскажите принцип работы EventLoop в node.js и его отличие от EventLoop в браузере
Стандартная теория, ответы на которую почти везде есть, поэтому никаких проблем ответить на неё не было
А также, простая задачка - "Напишите функцию, которая разворачивает массив и выводит в консоль элементы: [1,2,3, [4,5,6], 8, [9]] -> 1,2,3,4,5,6,7,8,9". И с ней я тоже справился, хоть и немного затянул
Мои вопросы об их проекте (всё стандартно)
- Расскажите о стеке проекта
- Какая архитектура
- Сколько человек команда
- Как выстроен процесс разработки
Оффер и отказ от него
Через пару часов мне дали оффер(он был в виде фидбека от HR в лс, с поздравлением об успешном прохождении собеса и предложением пойти к ним работать). В тот момент я так сильно, мягко говоря, удивился, радости не было предела. Но я задался вопросом, а нужно ли мне сидеть на уже не актуальном стеке - Node.js без фреймворков(чистый), ведь таких проектов почти нет и нужно расти в знаниях. Дальше ведь будет тяжело идти по собесам, если долгое время просидел на чём-то устаревшем. И я отказался от оффера, в пользу следующих собеседований, где получил оффер на зп чуть больше и проект с актуальными технологиями🔥
Присоединяйтесь к нашему общему чату и Discord серверу :)
Telegram
BlissCodeChat
🤖 Основной канал:
- https://t.me/blisscodehub
- https://t.me/blisscodehub
❤6 1
Flutter🧑💻
Невероятно интересный блог про разработку нашей отечественной Российской операционной системы Аврора🤘 на стеке Flutter. В скором времени будет «Meetup at home | KODE x Mobile Broadcast», на который был приглашен автор канала в качестве эксперта в сфере ОС Авроры для помощи написания доклада. А вот и сам канал разработчика и моего коллеги с одного из проектов - Микаила Тайсунова Антихрупкость Разработчика.
Если у вас тоже есть свой канал, который хотите развивать делитесь им в комментариях🧐
Присоединяйтесь к нашему общему чату и Discord серверу :)
Невероятно интересный блог про разработку нашей отечественной Российской операционной системы Аврора🤘 на стеке Flutter. В скором времени будет «Meetup at home | KODE x Mobile Broadcast», на который был приглашен автор канала в качестве эксперта в сфере ОС Авроры для помощи написания доклада. А вот и сам канал разработчика и моего коллеги с одного из проектов - Микаила Тайсунова Антихрупкость Разработчика.
Если у вас тоже есть свой канал, который хотите развивать делитесь им в комментариях🧐
Присоединяйтесь к нашему общему чату и Discord серверу :)
Telegram
Антихрупкость разработчика
Разработка, стартапы, становление
❤4❤🔥1 1
#frontend #полезно
Один из функционалов во фронтенде, суть которого не покрасить кнопку или сверстать форму и отправить ее на сервер.
Недавно была таска - "подхватить" ширины и высоты для excel колонок. У нас на проекте есть полноценная веб версия экселя со всеми копированиями, сдвигами, формулами, ресайзами, шаблонами и прочим функционалом O_o. Использовались данные библиотеки - раз, два и три. Однако больше половины логики была самописной (десятки файлов на 200-900 строк).
Созвонился с другим разработчиком, который писал весь функционал. Мы посмотрели на код и поняли, что в принципе можно скопипастить этот компонент из одного репозитория и вставить в другой (у нас два основных модуля одной платформы).
Не все так просто. Сразу вылезли всякие ошибки по типу undefined'ов, функция не является функцией - в этом роде. Пришлось еще покопаться в коде и понять, что конкретно для модуля, в котором я работал нужно указать другие поля у получаемой с сервера таблицы и достучаться до нужных свойств в объекте и потом засетить эти ширины и высоты в функции, которая считывает эксель файл с бекенда и отдает его в формате массива массивов с колонками и строками.
Задача оказалась необычной, хоть и простой, если передавать ее суть словами. Не знал, что в вебе можно сделать полноценный эксель.
Присоединяйтесь к нашему общему чату и Discord серверу :)
Один из функционалов во фронтенде, суть которого не покрасить кнопку или сверстать форму и отправить ее на сервер.
Недавно была таска - "подхватить" ширины и высоты для excel колонок. У нас на проекте есть полноценная веб версия экселя со всеми копированиями, сдвигами, формулами, ресайзами, шаблонами и прочим функционалом O_o. Использовались данные библиотеки - раз, два и три. Однако больше половины логики была самописной (десятки файлов на 200-900 строк).
Созвонился с другим разработчиком, который писал весь функционал. Мы посмотрели на код и поняли, что в принципе можно скопипастить этот компонент из одного репозитория и вставить в другой (у нас два основных модуля одной платформы).
Не все так просто. Сразу вылезли всякие ошибки по типу undefined'ов, функция не является функцией - в этом роде. Пришлось еще покопаться в коде и понять, что конкретно для модуля, в котором я работал нужно указать другие поля у получаемой с сервера таблицы и достучаться до нужных свойств в объекте и потом засетить эти ширины и высоты в функции, которая считывает эксель файл с бекенда и отдает его в формате массива массивов с колонками и строками.
Задача оказалась необычной, хоть и простой, если передавать ее суть словами. Не знал, что в вебе можно сделать полноценный эксель.
Присоединяйтесь к нашему общему чату и Discord серверу :)
❤5❤🔥1 1
#backend #полезно
Пробую писать примитивный CI/CD для Nest.js приложения с использованием GitHub Actions и PM2(часть 1)🧐
О том, что такое CI/CD простыми словами, можно почитать тут
1. Создание файла workflow
В корне вашего проекта создайте папку .github/workflows, а внутри нее файл deploy.yml
workflow — это набор инструкций для автоматизации процессов сборки, тестирования, деплоя и др, которые обычно выполняются вручную.
2. Настройка секретов GitHub
Чтобы избежать хардкодинга важных данных, таких как SSH-пароли или ключи, используем GitHub Secrets:
• Перейдём в репозиторий на GitHub
• Откроем: Settings -> Secrets and variables -> Actions
• Создадим секреты для сервера (SERVER_HOST, SERVER_PASSWORD, SERVER_USER, SERVER_PORT)
3. Тестим
Попробуйте создать PR и слить в ветку development🖥
Присоединяйтесь к нашему общему чату и Discord серверу :)
Пробую писать примитивный CI/CD для Nest.js приложения с использованием GitHub Actions и PM2(часть 1)
О том, что такое CI/CD простыми словами, можно почитать тут
1. Создание файла workflow
В корне вашего проекта создайте папку .github/workflows, а внутри нее файл deploy.yml
workflow — это набор инструкций для автоматизации процессов сборки, тестирования, деплоя и др, которые обычно выполняются вручную.
name: Deploy Nest.js app
on:
push:
branches:
- development # Триггер для запуска workflow при пуше в ветку "development". Для этого вам необходимо создать у себя эту ветку
jobs:
build:
runs-on: ubuntu-latest #Используется Ubuntu как окружение для запуска
steps:
- name: Checkout code
uses: actions/checkout@v3 #Клонируем репозиторий
- name: Set up Node.js
uses: actions/setup-node@v3 # Устанавливаем Node.js окружение
with:
node-version: 18 #Устанавливаем версию Node.js 18
- name: Install dependencies
run: yarn install # Установка зависимостей проекта
deploy:
runs-on: ubuntu-latest # Среда для выполнения деплоя
needs: build #Выполняется после этапа сборки
steps:
- name: Checkout code
uses: actions/checkout@v3 #Снова клонируем код на этапе деплоя
- name: Deploy to server via SSH with password
uses: appleboy/ssh-action@v0.1.2 # Используем экшн для SSH подключения
with:
host: ${{ secrets.SERVER_HOST }} # Host сервера из секретов
username: ${{ secrets.SERVER_USER }} # Имя пользователя для SSH-подключения
port: ${{ secrets.SERVER_PORT }} // SSH порт
password: ${{ secrets.SERVER_PASSWORD }} # Пароль для SSH, хранимый в секретах
script: | # Набор команд, которые будут выполняться на сервере
cd /uzver/BlissCode # Переходим в директорию проекта на сервере
git pull origin development --strategy-option=theirs # При выполнении команды git pull вы можете столкнуться с ошибкой - "Need to specify how to reconcile
divergent branches". Это происходит, когда в вашей локальной и удаленной ветке есть расхождения, и Git не знает, какую стратегию выбрать. Решение - указать стратегию слияния theirs, чтобы всегда использовать изменения из удаленной ветки
npx prisma migrate dev # Применяем миграции Prisma
yarn install # Устанавливаем зависимости проекта на сервере
yarn build # Собираем проект
pm2 restart all # Перезапускаем все процессы через pm2
2. Настройка секретов GitHub
Чтобы избежать хардкодинга важных данных, таких как SSH-пароли или ключи, используем GitHub Secrets:
• Перейдём в репозиторий на GitHub
• Откроем: Settings -> Secrets and variables -> Actions
• Создадим секреты для сервера (SERVER_HOST, SERVER_PASSWORD, SERVER_USER, SERVER_PORT)
3. Тестим
Попробуйте создать PR и слить в ветку development
Присоединяйтесь к нашему общему чату и Discord серверу :)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3 2 2
#frontend #полезно
Наткнулся на видосы, где кандидат проходит собес на фронтендера с накрученным опытом и в конце всех этапов признается в том, что у него нет реального коммерческого опыта - часть 1 и часть 2.
Работодатель конечно и указал причиной отказа отсутствие реального коммерческого опыта, но сделал оговорку что у компании нет денег чтобы давать время на раскачку только что попавшему в айти человеку.
Тем не менее, обратная связь положительная и если бы автор не сознался, то ему 100% выслали бы оффер, потому что подготовился к формату собесов и правильно отвечал на теоретические вопросы, грамотно рассказал о своем опыте.
Мораль в том, что если есть цель просто начать зарабатывать деньги фронтенд разрабом, то для первой работы хватит знаний с хороших бесплатных видео-курсов и собственных пет-проектов. Циферка лет опыта и так сама по себе будет набираться по мере работы в любых компаниях.
О подготовке - делюсь полезными ресурсами:
- Вопросы с собесов:
1. канал с вопросами с собесов
2. ресурс easyoffer
- Ютуб-каналы с записями собесов:
1. https://www.youtube.com/@daniil_maximum
2. https://www.youtube.com/@frontend-m0ney
3. https://www.youtube.com/@brave_interviews
4. https://www.youtube.com/@sanya-it
5. https://www.youtube.com/@coder-interviews
6. https://www.youtube.com/@ITBeast_IT
🟥 YouTube
™️ TikTok
⛩ Общий чат
🔵 Discord
🤜 Отзывы
Наткнулся на видосы, где кандидат проходит собес на фронтендера с накрученным опытом и в конце всех этапов признается в том, что у него нет реального коммерческого опыта - часть 1 и часть 2.
Работодатель конечно и указал причиной отказа отсутствие реального коммерческого опыта, но сделал оговорку что у компании нет денег чтобы давать время на раскачку только что попавшему в айти человеку.
Тем не менее, обратная связь положительная и если бы автор не сознался, то ему 100% выслали бы оффер, потому что подготовился к формату собесов и правильно отвечал на теоретические вопросы, грамотно рассказал о своем опыте.
Мораль в том, что если есть цель просто начать зарабатывать деньги фронтенд разрабом, то для первой работы хватит знаний с хороших бесплатных видео-курсов и собственных пет-проектов. Циферка лет опыта и так сама по себе будет набираться по мере работы в любых компаниях.
О подготовке - делюсь полезными ресурсами:
- Вопросы с собесов:
1. канал с вопросами с собесов
2. ресурс easyoffer
- Ютуб-каналы с записями собесов:
1. https://www.youtube.com/@daniil_maximum
2. https://www.youtube.com/@frontend-m0ney
3. https://www.youtube.com/@brave_interviews
4. https://www.youtube.com/@sanya-it
5. https://www.youtube.com/@coder-interviews
6. https://www.youtube.com/@ITBeast_IT
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Ч1 НАКРУТИЛ 3 ГОДА В РЕЗЮМЕ И СКАЗАЛ ОБ ЭТОМ НА СОБЕСЕ // СОБЕСЕДОВАНИЕ НА REACT FRONTEND ЗП 250К!
ЧАСТЬ 1: Реальное собеседование на Middle Frontend (React, JavaScript) с зарплатой 250К на руки. Притворился фронтенд разработчиком ChatGPT (OpenAI). Показываю, как пройти junior / middle / senior frontend собеседование, какие бывают вопросы и как вести себя…
57❤8 1 1
#backend #полезно
Всех приветствую 🧐
Давно не было постов про backend, поэтому следующий будет о моих похождениях на собесы по Golang(начал около недели назад вкатываться). Также дам гайд, о котором узнал также недавно, по оформлению резюме для любого направления backend
🟥 YouTube
™️ TikTok
⛩ Общий чат
🔵 Discord
🤜 Отзывы
Всех приветствую 🧐
Давно не было постов про backend, поэтому следующий будет о моих похождениях на собесы по Golang(начал около недели назад вкатываться). Также дам гайд, о котором узнал также недавно, по оформлению резюме для любого направления backend
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤8🦄1 1
Please open Telegram to view this post
VIEW IN TELEGRAM
1 6🤨3🫡1
#backend #полезно
Всех приветствую🧐
Что расскажу в этом посте:
1️⃣ Мой опыт по быстрому вкату в Golang и прохождение собесов
2️⃣ Как там на скринингах и к чему стоит готовиться?
3️⃣ Небольшой гайд по оформлению резюме backend разработчика
1️⃣ Вообще, идея залететь в Golang у меня была ещё пару месяцев назад, но по некоторым обстоятельствам я ей уделял слишком мало времени, по итогу общее изучение go у меня было ~10 дней. Таким образом, я дотянул до декабря и начал проходить собесы с этой небольшой базой(тут стоить учитывать, что на бэке у меня есть опыт в Node.js, поэтому что-то общее я могу рассказать). На текущий момент пройдено: 2 тех собеса, 1 тех скрининг, 6 скринингов с HR агентами(немного, но какой-то вывод могу сделать)
Что хочу подметить, касаемо скринингов с HR. Возможно такое было только у меня, но проходящим собесы на заметку, теперь почти на всех скринингах могут задать несколько тех вопросов по внутрянке, а также попросить рассказать что будет выводить код(скидывают в тг и тебе нужно рассказать поведение куска кода). Поэтому внимательнее🍿
О собесах не могу как-то судить, потому что это мои первые собесы(в бигтехи) по go и не с чем сравнивать, но если вкратце, то очень много внутрянки в блоке с теорией: сборщик мусора, планировщик, в чем выигрыш горутин, устройство каналов и map. То есть основной упор идет в теории именно на знание внутрянки. Поэтому делаем выводы🤓
2️⃣ Как упомянул выше, на скринингах могут задавать(по крайней мере у меня в большинстве случаев) тех вопросы. И это не относится только к Go, а также и к Node.js, так как опыт прохождения текущий и там имеется. Поэтому лучше подготовиться и к таким неожиданным моментам🔥
3️⃣ Ну и киллер-фича этого поста - небольшой гайд по оформлению резюме по backend направлению, который помогает нам🔍
➡️ Старайтесь в достижениях делать вывод из непосредственно достижения. Например, "Реализовал интеграцию с сервисом для управления бенефитами пользователям, тестирование показало, что выросла на 79% или в 1.7 раза". Тут главное показать, что вы действительно принесли пользу своей реализацией
➡️ Очень любят HR агенты, когда рассказываешь о самостоятельной реализации какого-либо микросервиса, судя по наблюдениям и количеству вопросов об этом на скринингах, как в Node.js, так и в Golang. Поэтому если есть такие достижения - указывайте✅
🟥 YouTube
™️ TikTok
⛩ Общий чат
🔵 Discord
🤜 Отзывы
Всех приветствую
Что расскажу в этом посте:
Что хочу подметить, касаемо скринингов с HR. Возможно такое было только у меня, но проходящим собесы на заметку, теперь почти на всех скринингах могут задать несколько тех вопросов по внутрянке, а также попросить рассказать что будет выводить код(скидывают в тг и тебе нужно рассказать поведение куска кода). Поэтому внимательнее
О собесах не могу как-то судить, потому что это мои первые собесы(в бигтехи) по go и не с чем сравнивать, но если вкратце, то очень много внутрянки в блоке с теорией: сборщик мусора, планировщик, в чем выигрыш горутин, устройство каналов и map. То есть основной упор идет в теории именно на знание внутрянки. Поэтому делаем выводы
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤8🔥5 5
#any
Всех приветствуем🤝
Подведем итоги уходящего 2024 года, на основе нашего флоу и тезисно выделим основные моменты👨💻
1️⃣ Своим опытом убедились, что большой опыт работы ❗️ 🟰 🟰 большая экспертность. Несколько раз нам встречались интервьюеры, которые сами не понимали в технологиях, но спрашивали о них
2️⃣ На наш взгляд собесы стали немного сложнее, все больше стало вопросов, проверяющих не поверхностное владение технологией, а именно понимание её внутреннего принципа работы и в каких случаях она может стать полезной, а то и навредить
3️⃣ Очень много лайвкодинга, на всех наших собесах он присутствовал. Но хотим заметить, что задачи не усложняются, а имхо, становятся немного проще, в сравнении с предыдущим годом🎹
4️⃣ Мы выработали некоторые практики общения с интервьюерами/HR агентами, которые действительно очень хорошо себя показали на 2-х вкатунах, проходивших собесы и получившие офферы(frontend и backend)🖐
5️⃣ Дефицит опытных разработчиков действительно ощущается, как минимум это стало понятно из разговора с 3-мя HR агентами и тому как рьяно компании пытаются переманить. Поэтому нужно идти на собесы😴
6️⃣ Тенденция на странные критерии отбора, которая наталкивает на мысль, что найм максимально доламывает себя. Эту темы мы раскроем в отдельном посте😎
7️⃣ В дальнейшем будем рассказывать как мы научились совмещать несколько работ и учёбу⌨️
8️⃣ Помните, что если отказали на одном собесе - дадут оффер на другом. Поэтому отказ не повод останавливаться проходить собесы👁🗨
9️⃣ За 6 собесов по backend получилось залутать 3 оффера(в общей сложности потратил 3 недели)🤜
В завершении хотим поздравить вас с наступающим Новым годом и пожелать сочных вилок и интересных проектов🔥 💟 💪
🟥 YouTube
™️ TikTok
⛩ Общий чат
🔵 Discord
🤜 Отзывы
Всех приветствуем
Подведем итоги уходящего 2024 года, на основе нашего флоу и тезисно выделим основные моменты
В завершении хотим поздравить вас с наступающим Новым годом и пожелать сочных вилок и интересных проектов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11❤🔥2 2