🧑💻 Вопросы с собесов для Node.js Разработчика
1. Сколько catch реально нужно в цепочке Promise
Технически достаточно одного
2. Можно ли выбросить ошибку внутри then и как она будет обработана
Да, внутри
3. Почему при использовании let в цикле значения разные
4. Что будет возвращать функция-счётчик при использовании замыкания
Функция-счётчик будет возвращать увеличивающееся значение при каждом вызове. Это возможно потому, что внутренняя функция сохраняет доступ к переменной из внешней функции. Такая переменная не уничтожается после выполнения, а продолжает жить в замыкании. Каждый вызов использует одно и то же сохраненное состояние.
5. В каком порядке выполняются then, catch и finally у Promise
#promise #catch #error #throw #let #block #closure #lexical #then
1. Сколько catch реально нужно в цепочке Promise
Технически достаточно одного
catch в конце цепочки. Он перехватит любую ошибку, возникшую выше. Дополнительные catch нужны только тогда, когда ошибку нужно обработать локально и продолжить выполнение цепочки. Лишние catch без необходимости усложняют код и ухудшают читаемость.2. Можно ли выбросить ошибку внутри then и как она будет обработана
Да, внутри
then можно выбросить ошибку с помощью throw. Такая ошибка автоматически превращает Promise в rejected. Она будет поймана ближайшим catch ниже по цепочке. По сути, throw внутри then эквивалентен return Promise.reject(error).3. Почему при использовании let в цикле значения разные
let в цикле создает новую переменную на каждую итерацию. Поэтому каждое замыкание “запоминает” свое значение. В отличие от var, где используется одна общая переменная на весь цикл, let предотвращает типичную ошибку с одинаковыми значениями. Это поведение заложено в спецификацию языка.4. Что будет возвращать функция-счётчик при использовании замыкания
Функция-счётчик будет возвращать увеличивающееся значение при каждом вызове. Это возможно потому, что внутренняя функция сохраняет доступ к переменной из внешней функции. Такая переменная не уничтожается после выполнения, а продолжает жить в замыкании. Каждый вызов использует одно и то же сохраненное состояние.
5. В каком порядке выполняются then, catch и finally у Promise
then вызывается при успешном выполнении Promise, catch — при ошибке, а finally — всегда, независимо от результата. finally выполняется после then или catch, но не меняет значение, если сам не выбрасывает ошибку. Все эти колбэки выполняются как микротаски. Порядок строго следует цепочке.#promise #catch #error #throw #let #block #closure #lexical #then
👍1
#repository #dsa #структурыданных
📚 Cpp-DSA-Notes-and-Programs
Заметки и программы по алгоритмам и структурам данных на C++. Подходит для изучения основ алгоритмики и подготовки к собеседованиям.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Cpp-DSA-Notes-and-Programs
Заметки и программы по алгоритмам и структурам данных на C++. Подходит для изучения основ алгоритмики и подготовки к собеседованиям.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #book
📚 Глубокое обучение. Погружение в мир нейронных сетей
Книга — основа основ для сотен специалистов в области глубокого обучения. В ней описывается история глубокого обучения и его основные идеи. Авторы показывают, как это все работает в современном мире и какие у направления есть перспективы.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Глубокое обучение. Погружение в мир нейронных сетей
Книга — основа основ для сотен специалистов в области глубокого обучения. В ней описывается история глубокого обучения и его основные идеи. Авторы показывают, как это все работает в современном мире и какие у направления есть перспективы.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #mixin
🤔 Что такое миксин?
💬 Кратко:
Миксин — это вспомогательный класс, предназначенный для добавления конкретной функциональности другим классам через множественное наследование. Миксины обычно не используются самостоятельно, а предназначены для совместного использования с другими классами.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое миксин?
💬 Кратко:
Миксин — это вспомогательный класс, предназначенный для добавления конкретной функциональности другим классам через множественное наследование. Миксины обычно не используются самостоятельно, а предназначены для совместного использования с другими классами.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#roadmap #railsmvc #activerecord
📚 Complete Ruby Developer Roadmap 2024
Это подробное руководство для начинающих и практикующих разработчиков, которое описывает все необходимые навыки, инструменты и технологии для успешной карьеры в Ruby-разработке в 2024 году. Оно охватывает основы языка Ruby, освоение фреймворка Ruby on Rails, работу с базами данных, фронтенд-технологии, тестирование, контроль версий и дополнительные библиотеки, а также даёт практические советы по построению реальных проектов и непрерывному обучению в быстро меняющейся IT-сфере
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Complete Ruby Developer Roadmap 2024
Это подробное руководство для начинающих и практикующих разработчиков, которое описывает все необходимые навыки, инструменты и технологии для успешной карьеры в Ruby-разработке в 2024 году. Оно охватывает основы языка Ruby, освоение фреймворка Ruby on Rails, работу с базами данных, фронтенд-технологии, тестирование, контроль версий и дополнительные библиотеки, а также даёт практические советы по построению реальных проектов и непрерывному обучению в быстро меняющейся IT-сфере
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #books
📚 Коллекция официальных электронных книг от Unity
Сайт представляет собой аккуратно составленный список бесплатных электронных книг, изданных командой Unity — от руководств по 2D-графике и освещению до кейс-стади и материалов по DevOps, дизайну игр и оптимизации — с целью помочь разработчикам легче находить и использовать эти качественные обучающие ресурсы в одном месте
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Коллекция официальных электронных книг от Unity
Сайт представляет собой аккуратно составленный список бесплатных электронных книг, изданных командой Unity — от руководств по 2D-графике и освещению до кейс-стади и материалов по DevOps, дизайну игр и оптимизации — с целью помочь разработчикам легче находить и использовать эти качественные обучающие ресурсы в одном месте
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #javascript #dom #events
🤔 Как подписаться на событие клика кнопки в DOM?
💬 Кратко:
Используйте метод
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как подписаться на событие клика кнопки в DOM?
💬 Кратко:
Используйте метод
addEventListener для подписки на событие click:document.querySelector('button').addEventListener('click', () => {
console.log('Кнопка нажата!');
});📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
🧑💻 5 вопросов с собесов Frontend разработчиков
1. Какие API создают microtask, а какие macrotask?
2. Что такое race condition при запросах?
Race condition — это ситуация, когда несколько запросов выполняются параллельно, и результат более медленного запроса перезаписывает результат более быстрого. В итоге состояние приложения может оказаться некорректным. Это часто происходит при быстрых изменениях параметров запроса. Проблема связана не со скоростью сети, а с порядком завершения запросов.
3. Как реализовать аналог Promise.all вручную?
Аналог
4. Может ли микрозадача заблокировать рендер браузера?
Да, микрозадачи могут заблокировать рендер браузера. Браузер выполняет все microtask перед тем, как перейти к рендеру. Если microtask постоянно добавляют новые microtask, рендер откладывается. Это состояние называется starvation.
5. Как возникает race condition в React?
Race condition в React возникает, когда несколько асинхронных запросов выполняются параллельно и обновляют одно и то же состояние. React не знает, какой запрос является “последним” или актуальным. В результате более старый запрос может завершиться позже и перезаписать более свежие данные. Это приводит к отображению устаревшей информации в UI.
#event #loop #microtask #race #condition #promise #all #render
1. Какие API создают microtask, а какие macrotask?
Microtask — это задачи с более высоким приоритетом, которые выполняются сразу после текущего стека вызовов. Macrotask — задачи с обычным приоритетом, которые обрабатываются по очереди между рендерами. Promise и queueMicrotask создают microtask, а setTimeout и события DOM — macrotask. Разница влияет на порядок выполнения и рендер.2. Что такое race condition при запросах?
Race condition — это ситуация, когда несколько запросов выполняются параллельно, и результат более медленного запроса перезаписывает результат более быстрого. В итоге состояние приложения может оказаться некорректным. Это часто происходит при быстрых изменениях параметров запроса. Проблема связана не со скоростью сети, а с порядком завершения запросов.
3. Как реализовать аналог Promise.all вручную?
Аналог
Promise.all можно реализовать, создав новый Promise и вручную отслеживая выполнение всех переданных Promise. Нужно сохранить результаты в массив в правильном порядке и считать количество завершённых операций. Если хотя бы один Promise отклоняется, итоговый Promise должен сразу перейти в состояние rejected. Это демонстрирует понимание базовой модели Promise.4. Может ли микрозадача заблокировать рендер браузера?
Да, микрозадачи могут заблокировать рендер браузера. Браузер выполняет все microtask перед тем, как перейти к рендеру. Если microtask постоянно добавляют новые microtask, рендер откладывается. Это состояние называется starvation.
5. Как возникает race condition в React?
Race condition в React возникает, когда несколько асинхронных запросов выполняются параллельно и обновляют одно и то же состояние. React не знает, какой запрос является “последним” или актуальным. В результате более старый запрос может завершиться позже и перезаписать более свежие данные. Это приводит к отображению устаревшей информации в UI.
#event #loop #microtask #race #condition #promise #all #render
#game #flex #css
📚 Flexbox Froggy
Игра, в которой тебе нужно помочь лягушонку Фроги и его друзьям, написав CSS код. отличный способ изучить сложную тему в CSS flexbox.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Flexbox Froggy
Игра, в которой тебе нужно помочь лягушонку Фроги и его друзьям, написав CSS код. отличный способ изучить сложную тему в CSS flexbox.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#book #начинающие #продвинутые
📚 Путь Ruby. Хэл Фултон и Андре Арко
Пособие считается одним из самых популярных среди программистов на Ruby. В нем представлена информация для тех, кто хочет эффективно писать качественные проекты на этом языке. В книге авторы разбирают более 400 фрагментов кода, что дает читателю более глубокое понимание устройства языка. Материал подан очень доступно, все объяснения подробны и понятны. Также присутствуют пояснения по имеющимся ограничениям.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Путь Ruby. Хэл Фултон и Андре Арко
Пособие считается одним из самых популярных среди программистов на Ruby. В нем представлена информация для тех, кто хочет эффективно писать качественные проекты на этом языке. В книге авторы разбирают более 400 фрагментов кода, что дает читателю более глубокое понимание устройства языка. Материал подан очень доступно, все объяснения подробны и понятны. Также присутствуют пояснения по имеющимся ограничениям.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #isolation #serializable
🤔 В чём суть уровня изоляции SERIALIZABLE?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В чём суть уровня изоляции SERIALIZABLE?
💬 Кратко:
SERIALIZABLE — самый строгий уровень изоляции транзакций. Он гарантирует, что результат параллельного выполнения транзакций эквивалентен их последовательному выполнению. Это устраняет все виды аномалий чтения. Цена за это — снижение производительности и возможные ошибки сериализации. Используется редко и осознанно.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
🧑💻 Вопросы с собесов для Node.js Разработчика
1. Как защитить данные в LocalStorage от стороннего JS?
Полностью защитить LocalStorage от чтения/изменения сторонним JS нельзя, так как он доступен в том же контексте. Можно уменьшить риски: хранить только нечувствительные данные, использовать шифрование или HttpOnly-куки для критичной информации.
2. Что такое Web Vitals?
Web Vitals — это набор ключевых метрик, которые Google использует для оценки скорости и удобства сайта. Основные из них:
- LCP (Largest Contentful Paint) — время загрузки самого большого элемента.
- FID (First Input Delay) — задержка перед реакцией на первое действие пользователя.
- CLS (Cumulative Layout Shift) — неожиданные смещения элементов на странице.
3. Что такое статический метод класса?
Статический метод — это функция класса, которая вызывается без создания экземпляра. Она принадлежит самому классу, а не объекту. Например,
4. Расскажи все про оптимизацию загрузки сайтов
Оптимизация загрузки сайтов — это способы сделать страницы быстрее. Основные методы: сжатие изображений, минификация CSS/JS, кэширование, ленивая загрузка (lazy load) и использование CDN. Чем быстрее сайт, тем лучше пользовательский опыт и выше позиции в поисковиках.
5. Как мы взаимодействуем с Node.js на фронтенде?
Node.js на фронтенде в основном применяется для:
- Сборки проектов (Webpack, Vite, Rollup).
- Запуска локального сервера для разработки.
- Управления зависимостями через npm/yarn/pnpm.
- Выполнения скриптов (тесты, линтинг, деплой).
Фронтенд-разработчики не запускают Node.js в браузере, но используют его в инструментах сборки.
#куки #хранилище #security #optimization #class #optimizations #webpack
1. Как защитить данные в LocalStorage от стороннего JS?
Полностью защитить LocalStorage от чтения/изменения сторонним JS нельзя, так как он доступен в том же контексте. Можно уменьшить риски: хранить только нечувствительные данные, использовать шифрование или HttpOnly-куки для критичной информации.
2. Что такое Web Vitals?
Web Vitals — это набор ключевых метрик, которые Google использует для оценки скорости и удобства сайта. Основные из них:
- LCP (Largest Contentful Paint) — время загрузки самого большого элемента.
- FID (First Input Delay) — задержка перед реакцией на первое действие пользователя.
- CLS (Cumulative Layout Shift) — неожиданные смещения элементов на странице.
3. Что такое статический метод класса?
Статический метод — это функция класса, которая вызывается без создания экземпляра. Она принадлежит самому классу, а не объекту. Например,
Math.random() — статический метод, так как не требует new Math().4. Расскажи все про оптимизацию загрузки сайтов
Оптимизация загрузки сайтов — это способы сделать страницы быстрее. Основные методы: сжатие изображений, минификация CSS/JS, кэширование, ленивая загрузка (lazy load) и использование CDN. Чем быстрее сайт, тем лучше пользовательский опыт и выше позиции в поисковиках.
5. Как мы взаимодействуем с Node.js на фронтенде?
Node.js на фронтенде в основном применяется для:
- Сборки проектов (Webpack, Vite, Rollup).
- Запуска локального сервера для разработки.
- Управления зависимостями через npm/yarn/pnpm.
- Выполнения скриптов (тесты, линтинг, деплой).
Фронтенд-разработчики не запускают Node.js в браузере, но используют его в инструментах сборки.
#куки #хранилище #security #optimization #class #optimizations #webpack
#repository #структурирование #стиль #тестирование
📚 Node.js Best Practices
Это — замечательный ресурс, который позволяет всем желающим оставаться в курсе того, что происходит в мире Node.js, и при этом изучать лучшие практические методы разработки.
Этот репозиторий не только содержит сведения о полезнейших приёмах разработки для Node.js, он, кроме того, даёт сведения об интеграции Node.js с другими платформами — с такими, например, как Docker и Kubernetes. Сейчас в нём находится более 80 «лучших практик», руководств по стилю, советов по архитектуре приложений.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Node.js Best Practices
Это — замечательный ресурс, который позволяет всем желающим оставаться в курсе того, что происходит в мире Node.js, и при этом изучать лучшие практические методы разработки.
Этот репозиторий не только содержит сведения о полезнейших приёмах разработки для Node.js, он, кроме того, даёт сведения об интеграции Node.js с другими платформами — с такими, например, как Docker и Kubernetes. Сейчас в нём находится более 80 «лучших практик», руководств по стилю, советов по архитектуре приложений.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #books
📚 Коллекция официальных электронных книг от Unity
Сайт представляет собой аккуратно составленный список бесплатных электронных книг, изданных командой Unity — от руководств по 2D-графике и освещению до кейс-стади и материалов по DevOps, дизайну игр и оптимизации — с целью помочь разработчикам легче находить и использовать эти качественные обучающие ресурсы в одном месте
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Коллекция официальных электронных книг от Unity
Сайт представляет собой аккуратно составленный список бесплатных электронных книг, изданных командой Unity — от руководств по 2D-графике и освещению до кейс-стади и материалов по DevOps, дизайну игр и оптимизации — с целью помочь разработчикам легче находить и использовать эти качественные обучающие ресурсы в одном месте
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #промисификация #промисы
🤔 Что такое промисификация?
💬 Кратко:
Промисификация — это процесс преобразования функций, которые используют колбэки, в функции, возвращающие промисы. Это делает работу с асинхронным кодом более удобной и упрощает его чтение и управление. Промисификация позволяет использовать промисы и их цепочки вместо глубокого вложения колбэков.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое промисификация?
💬 Кратко:
Промисификация — это процесс преобразования функций, которые используют колбэки, в функции, возвращающие промисы. Это делает работу с асинхронным кодом более удобной и упрощает его чтение и управление. Промисификация позволяет использовать промисы и их цепочки вместо глубокого вложения колбэков.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. Что такое FULL VACUUM и зачем он применяется?
2. Что такое микросервисный слой?
Микросервисный слой — это уровень в системе, где сосредоточены автономные сервисы, выполняющие отдельные бизнес-функции (например, аутентификация, платежи, каталог). Каждый слой взаимодействует с соседними через чётко определённые API, что упрощает развитие и масштабирование, а также позволяет изолировать изменения внутри одного слоя.
3. Какие существуют типы вызовов в gRPC?
gRPC поддерживает четыре вида вызовов: одиночный RPC (Unary) — один запрос/ответ, серверный стриминг — один запрос, поток ответов, клиентский стриминг — поток запросов, один ответ, и двунаправленный стриминг (Bidirectional) — поток запросов и поток ответов.
4. Как обеспечить согласованность данных между микросервисами?
Для согласованности используют транзакции на уровне бизнес-процессов (saga), где каждый шаг либо компенсируется при ошибке, двухфазное подтверждение (2PC) или eventual consistency через публикацию событий (Event Sourcing, CDC). Saga-паттерн более гибок и масштабируем, но требует реализации компенсационных операций.
5. Что такое SOLID-принципы?
SOLID — это аббревиатура пяти принципов: Single Responsibility (единственная ответственность), Open/Closed (открытость/закрытость), Liskov Substitution (подстановка Лисков), Interface Segregation (разделение интерфейсов) и Dependency Inversion (инверсия зависимостей). Они направлены на повышение расширяемости, тестируемости и сопровождаемости кода.
#vacuum_full #cleanup #table_rewrite #service #layer #autonomy #unary #streaming #server_streaming #saga #event #sourcing #single #responsibility #open
1. Что такое FULL VACUUM и зачем он применяется?
VACUUM FULL полностью перераспределяет таблицу и освобождает неиспользуемое пространство на диске, блокируя таблицу на запись. Его применяют для значительного уменьшения размера таблиц после массового удаления или обновления большого объёма строк.2. Что такое микросервисный слой?
Микросервисный слой — это уровень в системе, где сосредоточены автономные сервисы, выполняющие отдельные бизнес-функции (например, аутентификация, платежи, каталог). Каждый слой взаимодействует с соседними через чётко определённые API, что упрощает развитие и масштабирование, а также позволяет изолировать изменения внутри одного слоя.
3. Какие существуют типы вызовов в gRPC?
gRPC поддерживает четыре вида вызовов: одиночный RPC (Unary) — один запрос/ответ, серверный стриминг — один запрос, поток ответов, клиентский стриминг — поток запросов, один ответ, и двунаправленный стриминг (Bidirectional) — поток запросов и поток ответов.
4. Как обеспечить согласованность данных между микросервисами?
Для согласованности используют транзакции на уровне бизнес-процессов (saga), где каждый шаг либо компенсируется при ошибке, двухфазное подтверждение (2PC) или eventual consistency через публикацию событий (Event Sourcing, CDC). Saga-паттерн более гибок и масштабируем, но требует реализации компенсационных операций.
5. Что такое SOLID-принципы?
SOLID — это аббревиатура пяти принципов: Single Responsibility (единственная ответственность), Open/Closed (открытость/закрытость), Liskov Substitution (подстановка Лисков), Interface Segregation (разделение интерфейсов) и Dependency Inversion (инверсия зависимостей). Они направлены на повышение расширяемости, тестируемости и сопровождаемости кода.
#vacuum_full #cleanup #table_rewrite #service #layer #autonomy #unary #streaming #server_streaming #saga #event #sourcing #single #responsibility #open
👍1
#book #book
📚 Глубокое обучение. Погружение в мир нейронных сетей
Книга — основа основ для сотен специалистов в области глубокого обучения. В ней описывается история глубокого обучения и его основные идеи. Авторы показывают, как это все работает в современном мире и какие у направления есть перспективы.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Глубокое обучение. Погружение в мир нейронных сетей
Книга — основа основ для сотен специалистов в области глубокого обучения. В ней описывается история глубокого обучения и его основные идеи. Авторы показывают, как это все работает в современном мире и какие у направления есть перспективы.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #codewars
📚 CodeWars
LeetCode можно не обсуждать — про него всё понятно. А вот младшего брата CodeWars — можно. Это сайт с задачами, ĸоторые делают другие пользователи.
Почему он младший брат? Потому что задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта. За прохождение задач (они называют их Kata) вы получаете Honor-очĸи, тем самым повышаете репутацию своего профиля.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 CodeWars
LeetCode можно не обсуждать — про него всё понятно. А вот младшего брата CodeWars — можно. Это сайт с задачами, ĸоторые делают другие пользователи.
Почему он младший брат? Потому что задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта. За прохождение задач (они называют их Kata) вы получаете Honor-очĸи, тем самым повышаете репутацию своего профиля.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #signals #reentrancy #signal_handler
🤔 Что произойдёт, если во время обработки одного сигнала придёт ещё один такой же?
💬 Кратко:
Если во время обработки сигнала приходит ещё один такой же, он обычно блокируется до завершения текущего обработчика. Система автоматически добавляет сигнал в маску blocked, чтобы предотвратить рекурсивный вызов. После выхода из обработчика сигнал доставляется снова. Это поведение гарантирует, что обработчик не будет прерван самим собой.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что произойдёт, если во время обработки одного сигнала придёт ещё один такой же?
💬 Кратко:
Если во время обработки сигнала приходит ещё один такой же, он обычно блокируется до завершения текущего обработчика. Система автоматически добавляет сигнал в маску blocked, чтобы предотвратить рекурсивный вызов. После выхода из обработчика сигнал доставляется снова. Это поведение гарантирует, что обработчик не будет прерван самим собой.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🧑💻 Вопросы с собеседований для DevOps
1. Какие сложности возникают при запуске моделей внутри контейнеров
Основные сложности связаны с зависимостями, размером образов и ресурсами. ML-модели часто требуют специфичных версий библиотек и драйверов. Контейнеры с GPU сложнее в настройке и отладке. Также возникают проблемы с памятью и временем старта. Все это усложняет эксплуатацию в продакшене.
2. Что такое OpenShift и как он используется?
OpenShift — это платформа контейнеризации на базе Kubernetes, созданная Red Hat. Она предоставляет готовый набор инструментов для разработки, развёртывания и управления контейнеризированными приложениями. OpenShift добавляет к Kubernetes функции безопасности, CI/CD, мониторинга и управления жизненным циклом приложений. Он часто используется в корпоративных средах для стандартизации процессов DevOps.
3. Как происходит переключение контекста между потоками?
Переключение контекста — это процесс сохранения состояния текущего потока и загрузки состояния другого потока, чтобы ядро ОС могло передать управление процессором. Сохраняются значения регистров процессора, указатель стека и другая служебная информация. Это позволяет реализовать многозадачность, создавая иллюзию параллельного выполнения многих потоков на одном ядре. Переключение выполняется планировщиком ядра и требует времени, которое является накладными расходами.
4. Как работает обработка событий через сигналы?
Сигналы — это ограниченная форма межпроцессного взаимодействия (IPC) в Unix-подобных системах, уведомляющая процесс о наступлении асинхронного события. Например, нажатие Ctrl+C в терминале отправляет процессу сигнал SIGINT, запрашивая его завершение. Процесс может перехватить большинство сигналов, установив специальную функцию-обработчик (signal handler), которая выполняется асинхронно, прерывая основной поток выполнения. Это позволяет программе корректно реагировать на внешние события, такие как запросы на остановку или изменения состояния системы.
5. Какие метрики собирал в проектах с LLM/RAG? Как доставлял их в дашборды?
В проектах с LLM/RAG собирал метрики качества ответов (точность, полнота, F1, faithfulness), задержки (latency p50/p95/p99), стоимость токенов, количество ошибок и дрейф эмбеддингов. Для доставки в дашборды использовал Prometheus для сбора метрик и Grafana для визуализации. Также применял логирование в ELK-стек для анализа отдельных запросов.
#ml #model #OpenShift #Kubernetes #container_platform #context_switch #thread #scheduler #signals #Unix #process #LLM #RAG #metrics
1. Какие сложности возникают при запуске моделей внутри контейнеров
Основные сложности связаны с зависимостями, размером образов и ресурсами. ML-модели часто требуют специфичных версий библиотек и драйверов. Контейнеры с GPU сложнее в настройке и отладке. Также возникают проблемы с памятью и временем старта. Все это усложняет эксплуатацию в продакшене.
2. Что такое OpenShift и как он используется?
OpenShift — это платформа контейнеризации на базе Kubernetes, созданная Red Hat. Она предоставляет готовый набор инструментов для разработки, развёртывания и управления контейнеризированными приложениями. OpenShift добавляет к Kubernetes функции безопасности, CI/CD, мониторинга и управления жизненным циклом приложений. Он часто используется в корпоративных средах для стандартизации процессов DevOps.
3. Как происходит переключение контекста между потоками?
Переключение контекста — это процесс сохранения состояния текущего потока и загрузки состояния другого потока, чтобы ядро ОС могло передать управление процессором. Сохраняются значения регистров процессора, указатель стека и другая служебная информация. Это позволяет реализовать многозадачность, создавая иллюзию параллельного выполнения многих потоков на одном ядре. Переключение выполняется планировщиком ядра и требует времени, которое является накладными расходами.
4. Как работает обработка событий через сигналы?
Сигналы — это ограниченная форма межпроцессного взаимодействия (IPC) в Unix-подобных системах, уведомляющая процесс о наступлении асинхронного события. Например, нажатие Ctrl+C в терминале отправляет процессу сигнал SIGINT, запрашивая его завершение. Процесс может перехватить большинство сигналов, установив специальную функцию-обработчик (signal handler), которая выполняется асинхронно, прерывая основной поток выполнения. Это позволяет программе корректно реагировать на внешние события, такие как запросы на остановку или изменения состояния системы.
5. Какие метрики собирал в проектах с LLM/RAG? Как доставлял их в дашборды?
В проектах с LLM/RAG собирал метрики качества ответов (точность, полнота, F1, faithfulness), задержки (latency p50/p95/p99), стоимость токенов, количество ошибок и дрейф эмбеддингов. Для доставки в дашборды использовал Prometheus для сбора метрик и Grafana для визуализации. Также применял логирование в ELK-стек для анализа отдельных запросов.
#ml #model #OpenShift #Kubernetes #container_platform #context_switch #thread #scheduler #signals #Unix #process #LLM #RAG #metrics
#repository #godotengine
📚 Godot Engine
Официальный исходный код открытого кросс‑платформенного игрового движка Godot. Это полноценная среда для разработки 2D‑ и 3D‑игр, включающая редактор, скриптовый язык GDScript (похожий на Python), систему сцен и узлов, инструменты анимации, физику и рендеринг. Репозиторий содержит всю кодовую базу движка, документацию, примеры, а также систему отслеживания задач и обсуждений. Подходит как для изучения архитектуры движка, так и для внесения собственных изменений, создания плагинов или сборки кастомных версий.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Godot Engine
Официальный исходный код открытого кросс‑платформенного игрового движка Godot. Это полноценная среда для разработки 2D‑ и 3D‑игр, включающая редактор, скриптовый язык GDScript (похожий на Python), систему сцен и узлов, инструменты анимации, физику и рендеринг. Репозиторий содержит всю кодовую базу движка, документацию, примеры, а также систему отслеживания задач и обсуждений. Подходит как для изучения архитектуры движка, так и для внесения собственных изменений, создания плагинов или сборки кастомных версий.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1