Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Сколько TCP пакетов будет отправлено (без задержек на приёмной стороне)?
Anonymous Quiz
19%
1 (все данные в одном пакете)
9%
Около 10-20 (группировка по таймеру)
37%
100 (каждый байт в отдельном пакете)
17%
Зависит от MTU
19%
Зависит от размера TCP window
😁2
Forwarded from Библиотека Go-разработчика | Golang
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9
Какое преимущество даёт connect() для UDP сокета?
Anonymous Quiz
10%
Устанавливается надёжное соединение
33%
Ядро кеширует маршрут, меньше overhead на каждый send()
6%
Автоматическая ретрансмиссия потерянных пакетов
46%
Невозможно, connect() работает только с TCP
5%
Включается контроль порядка доставки
😁2
🐸 Подборка вакансий для C++-разработчиков за неделю
C developer — Удалёнка
Middle+ / Senior C++ developer — Удалёнка
Senior разработчик C++ в команду Core — Удалёнка
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽ Удалёнка
Библиотека C/C++ разработчика
C developer — Удалёнка
Middle+ / Senior C++ developer — Удалёнка
Senior разработчик C++ в команду Core — Удалёнка
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽ Удалёнка
Библиотека C/C++ разработчика
👍3
Часто в коде встречаются избыточные проверки, которые защищают от "невозможных" ситуаций:
void process(Config* config) {
if (config == nullptr) { // хотя config всегда валиден!
log_error("Config is null");
return;
}
// ...
}assert для проверки инвариантов — условий, которые всегда должны выполняться в корректной программе:void process(Config* config) {
assert(config != nullptr && "Config cannot be null");
// ...
}• В релизе (NDEBUG) код assert полностью удаляется — нет накладных расходов
• В горячих циклах это может означать миллионы сэкономленных проверок
• Меньше размер исполняемого файла
• assert явно документирует предусловия функции
• Баг обнаруживается сразу в
Debug, а не прячется за логами👉 Статья
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤔3❤1🥱1👾1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🎮 Плейлист с решением задач с Leetcode
Для тех, кто готовится к собеседованиям и хочет прокачать алгоритмическое мышление на C++: отличная подборка — плейлист «Blind 75 C++ Leetcode» с подробными пошаговыми разбором задач. Автор разбирает каждую из самых популярных задач LeetCode с фокусом на реальные паттерны, сложности и подводные камни интервью.
👉 Плейлист
Библиотека C/C++ разработчика
#линкер_рекомендует
Для тех, кто готовится к собеседованиям и хочет прокачать алгоритмическое мышление на C++: отличная подборка — плейлист «Blind 75 C++ Leetcode» с подробными пошаговыми разбором задач. Автор разбирает каждую из самых популярных задач LeetCode с фокусом на реальные паттерны, сложности и подводные камни интервью.
👉 Плейлист
Библиотека C/C++ разработчика
#линкер_рекомендует
👍4❤2
🧠 Когда mutex — не панацея
Многопоточное программирование в C++ часто сводится к простой мантре: «Есть shared data — добавь mutex». Но реальность куда интереснее, и правильная синхронизация требует понимания нюансов.
Современный C++ предлагает богатый арсенал примитивов синхронизации. std::mutex решает базовые задачи, но для специфичных сценариев есть более эффективные инструменты.
Ключевой момент — гранулярность блокировок. Слишком крупные критические секции убивают параллелизм, слишком мелкие создают оверхед. В high-performance системах часто используют lock-free структуры данных или hybrid подходы: например, thread-local буферы с периодической синхронизацией через lock.
Не стоит забывать про
А как вы подходите к выбору механизма синхронизации? Полагаетесь на универсальный mutex или анализируете паттерны доступа к данным?
Библиотека C/C++ разработчика
#междусобойчик
Многопоточное программирование в C++ часто сводится к простой мантре: «Есть shared data — добавь mutex». Но реальность куда интереснее, и правильная синхронизация требует понимания нюансов.
Современный C++ предлагает богатый арсенал примитивов синхронизации. std::mutex решает базовые задачи, но для специфичных сценариев есть более эффективные инструменты.
std::shared_mutex (C++17) идеален для ситуаций с частым чтением и редкой записью — классический reader-writer lock. std::atomic обеспечивает lock-free синхронизацию для простых типов, но требует понимания memory ordering.Ключевой момент — гранулярность блокировок. Слишком крупные критические секции убивают параллелизм, слишком мелкие создают оверхед. В high-performance системах часто используют lock-free структуры данных или hybrid подходы: например, thread-local буферы с периодической синхронизацией через lock.
Не стоит забывать про
std::condition_variable для координации потоков и std::latch/std::barrier (C++20) для более сложных паттернов синхронизации. Правильный выбор примитива может дать разницу в производительности на порядок.А как вы подходите к выбору механизма синхронизации? Полагаетесь на универсальный mutex или анализируете паттерны доступа к данным?
Библиотека C/C++ разработчика
#междусобойчик
❤4👍3
Команда Яндекса — это профессионалы, которые одержимы своим делом и решают задачи, где нет готовых решений.
Сейчас мы ищем сильных бэкенд-разработчиков — с опытом от 3 лет на C++, Python, Java или Go. Участвуйте в Week Offer, чтобы получить офер онлайн, всего за неделю.
Как будет проходить Week Offer Backend?
• Подайте заявку до 12 ноября.
• Пройдите технические секции 15 и 16 ноября.
• Познакомьтесь с командами и получите офер 17–21 ноября.
Если вам интересно строить полезные сервисы вокруг ИИ-технологий, проводить исследования и превращать их в реальные продукты для миллионов пользователей — переходите по ссылке. На сайте собрали все подробности.
Сейчас мы ищем сильных бэкенд-разработчиков — с опытом от 3 лет на C++, Python, Java или Go. Участвуйте в Week Offer, чтобы получить офер онлайн, всего за неделю.
Как будет проходить Week Offer Backend?
• Подайте заявку до 12 ноября.
• Пройдите технические секции 15 и 16 ноября.
• Познакомьтесь с командами и получите офер 17–21 ноября.
Если вам интересно строить полезные сервисы вокруг ИИ-технологий, проводить исследования и превращать их в реальные продукты для миллионов пользователей — переходите по ссылке. На сайте собрали все подробности.
❤2🥱2😁1
🐸 Подборка вакансий для C++-разработчиков за неделю
C developer — Удалёнка
Middle+ / Senior C++ developer — Удалёнка
Senior разработчик C++ в команду Core — Удалёнка
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽
Главный разработчик С++ — Удалёнка
Senior Программист C/С++ — от 400 000 до 600 000 ₽ Гибрид (Москва)
Middle С++ Developer — Гибрид (Москва)
Software Engineer C/C++ — Гибрид (Москва) Удалёнка
Библиотека C/C++ разработчика
C developer — Удалёнка
Middle+ / Senior C++ developer — Удалёнка
Senior разработчик C++ в команду Core — Удалёнка
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽
Главный разработчик С++ — Удалёнка
Senior Программист C/С++ — от 400 000 до 600 000 ₽ Гибрид (Москва)
Middle С++ Developer — Гибрид (Москва)
Software Engineer C/C++ — Гибрид (Москва) Удалёнка
Библиотека C/C++ разработчика
👍3
🎁 И мозг прокачать, и макбук утащить!
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
❤🔥1😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
В каком случае std::unique_ptr может утечь?
Anonymous Quiz
11%
При копировании
30%
При вызове release()
13%
При move
5%
При выходе из scope
40%
Никогда не может
😁3
🔥 Highlight — must-have расширение для VS Code
Если надоело искать
😎 Что умеет:
• Подсвечивает TODO, FIXME, NOTE, HACK и другие маркеры прямо в коде
• Настраиваемые цвета и стили для каждого типа комментариев
• Поддерживает кастомные регулярки для своих меток
• Работает со всеми языками, включая C++
✍️ Пример использования:
Все эти комментарии будут выделены разными цветами — красным для FIXME, жёлтым для TODO и т.д.
❗️Особенно полезно в больших проектах, где легко забыть о временных хаках. Устанавливается в пару кликов, настраивается через
👉 Ссылка на расширение
Библиотека C/C++ разработчика
#буст
Если надоело искать
TODO и FIXME в коде, то расширение Highlight превратит их в яркие цветные метки, которые невозможно пропустить.😎 Что умеет:
• Подсвечивает TODO, FIXME, NOTE, HACK и другие маркеры прямо в коде
• Настраиваемые цвета и стили для каждого типа комментариев
• Поддерживает кастомные регулярки для своих меток
• Работает со всеми языками, включая C++
✍️ Пример использования:
// TODO: оптимизировать этот алгоритм
// FIXME: утечка памяти здесь
// NOTE: важное замечание про thread-safety
Все эти комментарии будут выделены разными цветами — красным для FIXME, жёлтым для TODO и т.д.
❗️Особенно полезно в больших проектах, где легко забыть о временных хаках. Устанавливается в пару кликов, настраивается через
settings.json.👉 Ссылка на расширение
Библиотека C/C++ разработчика
#буст
❤4👍3❤🔥1