en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Senior C++ Developer

Senior C++ Developer

Open in Telegram

📈 Analytical overview of Telegram channel Senior C++ Developer

Channel Senior C++ Developer (@seniorcpp) in the Russian language segment is an active participant. Currently, the community unites 11 518 subscribers, ranking 10 785 in the Technologies & Applications category and 55 629 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 11 518 subscribers.

According to the latest data from 29 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -63 over the last 30 days and by 0 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 12.21%. Within the first 24 hours after publication, content typically collects 4.74% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 407 views. Within the first day, a publication typically gains 546 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
  • Thematic interests: Content is focused on key topics such as c++, контейнер, диапазон, git, true.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
“Изучаем C++. По вопросам сотрудничества: @adv_and_pr РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba”

Thanks to the high frequency of updates (latest data received on 30 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

11 518
Subscribers
No data24 hours
-207 days
-6330 days
Posts Archive
🦾Хардкорный тест по языку С++🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном ку
🦾Хардкорный тест по языку С++🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «C++ Developer. Professional» от OTUS. Сможете сдать - пройдете на курс по спеццене! ⏰ Время прохождения теста ограничено 30 минут 👉ПРОЙТИ ТЕСТ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Поиск в ширину Поиск в ширину (breadth-first search, BFS) - это алгоритм поиска или обхода графа. Он исследует все вершины на
Поиск в ширину Поиск в ширину (breadth-first search, BFS) - это алгоритм поиска или обхода графа. Он исследует все вершины на одном уровне, прежде чем переходить к следующему уровню. Этот пример иллюстрирует обход в ширину для следующего графа: 0 / \ 1-----2 \ 3 Начиная с вершины 2, алгоритм BFS посетит вершины в следующем порядке: 2, 0, 3, 1.

#вакансия #удалённо #parttime #remote #parttime #C++ #преподаватель 🦉  OTUS ищет преподавателей на онлайн-курсы: С++ Developer Basic С++ Developer Professional Мы расширяем команду экспертов (уже более 600 человек). Преподавательский опыт не обязателен — мы научим вас всему, что нужно! Требуется: - Знание С++17, STL, ООП, Git, опыт коммерческой разработки на C++ от 3 лет, понимание RAII, SOLID, SFINAE. Опыт многопоточного и асинхронного программирования. Обязанности: - подготовиться к занятиям (темы на выбор, материалы предоставляются) - преподавать в mts-link.ru, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи. Условия: ✅ гибкий график, легко совмещать с основной работой, занятия в вечернее время; ✅  оплата от 4000 до 6000 руб. за 1,5 часа занятия; ✅ бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, бесплатные воркшопы и конференции для наших преподавателей. Обсудить подробнее: @candyfox24

Волновой алгоритм Волновой алгоритм — это алгоритм поиска пути, который использует волновое распространение для определения кратчайшего пути от начальной вершины до целевой вершины. Смотреть статью

Что такое виртуальный деструктор и зачем он используется в C++? В C++ виртуальный деструктор используется для правильного освобождения памяти при удалении объекта через указатель на базовый класс. Если базовый класс имеет виртуальный деструктор, то при удалении объекта через указатель на базовый класс будет вызван деструктор не только базового класса, но и всех его производных классов. Это позволяет избежать утечек памяти и неопределенного поведения при работе с полиморфными объектами. Если виртуального деструктора не объявлено в базовом классе, то при удалении производного объекта через указатель на базовый класс будут вызываны только деструкторы базового класса, что может привести к утечкам памяти и неопределенному поведению.

Пример оконного приложения на C++ Qt В программе окно создается на основе библиотечного класса QFrame. Этот класс является по
+1
Пример оконного приложения на C++ Qt В программе окно создается на основе библиотечного класса QFrame. Этот класс является потомком класса QWidget. Так что можно без всяких проблем заменить в программе QFrame на QWidget. Подробнее можно почитать здесь.

#вопросы_с_собеседований Предполагая, что buf является валидным указателем, в чем проблема в приведенном на картинке коде? Ка
#вопросы_с_собеседований Предполагая, что buf является валидным указателем, в чем проблема в приведенном на картинке коде? Каким был бы альтернативный способ реализации этого, который позволил бы избежать этой проблемы? Проблема в коде заключается в том, что --sz >= 0 всегда будет истинным, поэтому вы никогда не выйдете из цикла while (поэтому вы, вероятно, в конечном итоге испортите память или вызовете какое-то нарушение памяти или какой-либо другой программный сбой, в зависимости от того, что вы делаете внутри цикла). Причина, по которой --sz >= 0 всегда будет истинной, заключается в том, что тип sz равен size_t. size_t на самом деле просто псевдоним одного из основных беззнаковых целочисленных типов. Следовательно, поскольку sz не имеет знака, оно никогда не может быть меньше нуля (поэтому условие никогда не может быть ложным). Одним из примеров альтернативной реализации, позволяющей избежать этой проблемы, может быть использование цикла for следующим образом: for (size_t i = 0; i < sz; i++)

Мечтаешь о той самой работе в Big Tech, но никогда не проектировал системы? Или работаешь на галере с нулевым подходом к прое
Мечтаешь о той самой работе в Big Tech, но никогда не проектировал системы? Или работаешь на галере с нулевым подходом к проектированию и не знаешь, а как разбираться в архитектуре приложений? Знаешь, ведь я был таким же, как ты. Читал книги, смотрел курсы, но на работе не было той почвы, которая давала бы рост. А на всех ресурсах одни и те же проблемы: устаревшие подходы, зачитывание терминов без примеров и самое главное — минимум практики. Я решил с этим покончить. Больше никаких недо-курсов, которые “готовят к собесу за один месяц с нуля”. Это невозможно, если ты не обладаешь базой. Но все реально, если разобраться в компонентах, которые составляют эти системы. Приходи на мой Открытый Урок, где за час мы посмотрим на эти самые компоненты. А еще я расскажу про процесс проектирования в Big Tech и что такое system design секция. В конце лекции анонс продукта, который поможет тебе навсегда решить проблему с проектированием. ЗАПИСАТЬСЯ PS: недавно проходил собес в один российский Big Tech. Результат можешь увидеть на скрине

std::thread std::thread является частью стандартной библиотеки C++ и предоставляет возможность создания и управления потоками
std::thread std::thread является частью стандартной библиотеки C++ и предоставляет возможность создания и управления потоками выполнения. Он позволяет запускать функции в отдельных потоках, обеспечивая параллельное выполнение кода. Обратите внимание, что после создания потока std::thread, вы должны вызвать join() или detach() для корректной обработки завершения потока. В приведенном примере мы использовали join(), чтобы основной поток дождался завершения потока t1. Если вы вызываете join() после завершения потока, программа может выдать исключение или вызвать неопределенное поведение.

👩‍💻 Ваш код на C++ мог бы быть быстрее. Намного быстрее. Почему ваши приложения работают медленнее, чем хотелось бы? Програ
👩‍💻 Ваш код на C++ мог бы быть быстрее. Намного быстрее. Почему ваши приложения работают медленнее, чем хотелось бы? Программа не использует потенциал процессора, а кэш и память работают в авральном режиме? 🗓 На открытом уроке «Оптимизация производительности на C++» 30 января в 20:00 мск мы разберем инструменты gprof, valgrind, Google Benchmark, секреты работы с кэш-памятью, управление памятью и даже оптимизации компилятора. 🦾 Присоединяйтесь к вебинару и сделайте свои приложения молниеносными! Участники урока получат скидку на большое обучение «C++ Developer. Professional». ➡️ Узнать больше и зарегистрироваться: https://otus.pw/1j0R/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Начало работы с Qt Минимальный исходный код приложения Qt(часть 1). QApplication — очень важный класс. Он заботится о входных
+1
Начало работы с Qt Минимальный исходный код приложения Qt(часть 1). QApplication — очень важный класс. Он заботится о входных аргументах, а также о многих других вещах, и в первую очередь о цикле обработки событий . Цикл событий — это цикл, ожидающий ввода данных пользователем в приложениях с графическим интерфейсом. Давайте скомпилируем это приложение. Нажав на зеленую стрелку в левом нижнем углу, Qt Creator скомпилирует и выполнит его. И что случилось? Приложение как бы запущено и не отвечает. Это на самом деле нормально. Цикл событий работает и ожидает событий, таких как щелчки мышью в графическом интерфейсе, но мы не предоставили никаких событий для обработки, поэтому он будет выполняться бесконечно. Давайте добавим что-то для отображения(часть 2). Скомпилируйте его и… вот оно! Наше первое окно!

Нейронные сети на Эльбрусе Смотреть статью
Нейронные сети на Эльбрусе Смотреть статью

Задача Найти среднее арифметическое в трех рядах. Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас бу
Задача Найти среднее арифметическое в трех рядах. Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда. Теперь подумаем какие переменные нам понадобятся : Переменная summa — для суммы чисел каждого ряда Переменная average — для среднего арифметического каждого ряда Переменная number — обычное число которое мы будем постоянно прибавлять Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.

#вопросы_с_собеседований В чем разница между git fetch и git pull? Разница между этими командами заключается в том, что когда вы используете команду git fetch, Git извлекает последние изменения из удаленного репозитория в ваш локальный репозиторий, но оставляет эти изменения в отдельной ветке git origin. А команда git pull извлекает и интегрирует (скачивает и сливает) последние изменения из удаленного репозитория в вашу текущую ветку работы.

Ключевое слово requires Ключевое слово requires используется в контексте концепций (concepts) для определения требований, кот
Ключевое слово requires Ключевое слово requires используется в контексте концепций (concepts) для определения требований, которые тип должен удовлетворять. Концепции представляют собой инструмент в C++, введенный в стандарте C++20, который позволяет более точно указывать ограничения на типы данных, которые могут использоваться в шаблонах. В примере на картинке Sortable — это концепция, описывающая типы, для которых определены операторы сравнения («<» и «>»). Функция sortAndPrint принимает два аргумента типа T, удовлетворяющего концепции Sortable, и сравнивает их. Использование requires в данном контексте позволяет более явно указать ограничения на типы данных, которые могут использоваться в шаблонах и функциях, делая код более читаемым и безопасным. #для_начинающих

Поиск максимальной прибыли Дан целочисленный массив prices, где prices[i] - это цена данной акции на i-й день. В каждый день
Поиск максимальной прибыли Дан целочисленный массив prices, где prices[i] - это цена данной акции на i-й день. В каждый день вы можете принять решение о покупке и/или продаже акции. В любой момент времени вы можете держать не более одной акции. Однако вы можете купить ее и тут же продать в тот же день. Найдите и верните максимальную прибыль, которую вы можете получить. Рассмотрим принцип работы maxProfit: curHold хранит максимальную потенциальную прибыль, если у нас есть акции, а curNotHold - если у нас нет акций. Для каждой цены алгоритм обновляет значения переменных. - curHold считается как максимум из двух значений: предыдущего curHold (если мы продолжаем держать акции) и разности между предыдущим curNotHold и текущей ценой на акции (если мы покупаем акции сегодня). - curNotHold считается как максимум из двух значений: предыдущего curNotHold (если мы продолжаем не покупать акции) и суммы предыдущего curHold и текущей цены на акции (если мы продаем акции сегодня). #разбор_кода

Поговорим об observability на Яндекс Infra Meetup #4 Приглашаем на митап про наблюдаемость приложений от Яндекс Go и Техплатф
Поговорим об observability на Яндекс Infra Meetup #4 Приглашаем на митап про наблюдаемость приложений от Яндекс Go и Техплатформы Екома и Райдтеха Яндекса. В программе два трека, выбрать можно любой:  CaseLab: observability. Интерактивный формат решения практических задач совместно с модераторами.  CaseStudy. 3 доклада от спикеров сервисов:  — Толя Беляев расскажет про варианты сбора метрик приложения микросервисной архитектуры — Леша Королев объяснит, как построить дашборд всей платформы Такси — Леша Золотухин покажет, как создать диагностические дашборды в инфраструктуре на 2000+ микросервисов После CaseLab и докладов — нетворкинг в неформальной атмосфере и афтепати. 13 февраля, 18:30 Москва, офлайн Регистрируйтесь и зовите коллег!   Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

#вопросы_с_собеседований Почему рекомендуется не использовать паттерн Singleton? Singleton гарантирует, что класс имеет только один экземпляр и обеспечивает глобальную точку доступа к нему. Однако паттерн Singleton часто критикуют и не рекомендуют использовать по нескольким причинам: 1. Глобальное состояние: Singleton вносит глобальное состояние в приложение, что может привести к тесной связи между классами и затруднить рассуждения о поведении системы. 2. Скрытие зависимостей: Singleton скрывает зависимости, затрудняя понимание и рассуждения о взаимодействии между различными компонентами системы. 3. Сложности тестирования: Singleton может усложнить модульное тестирование. Поскольку он полагается на глобальное состояние, становится трудно изолировать и тестировать отдельные компоненты по отдельности. Это может привести к зависимостям и сделать тесты более хрупкими. 4. Безопасность потоков: Экземпляры Singleton могут создавать проблемы с безопасностью потоков. Если несколько потоков пытаются одновременно получить доступ или изменить Singleton, это может привести к неопределенному поведению. А дополнительное обеспечение безопасности потоков добавляет сложности и может повлиять на производительность.

You Ain't Gonna Need It (YAGNI) You Ain't Gonna Need It (Вам это не понадобится) - это принцип разработки программного обеспечения, который поощряет простоту и избегает чрезмерной инженерии. принцип YAGNI побуждает разработчиков реализовывать только те функции, которые необходимы в данный момент, а не добавлять функциональность, которая может потребоваться в будущем, но в данный момент не нужна. Вот ключевые аспекты применения принципа YAGNI: - Минимализм: Пишите минимальный объем кода, необходимый для выполнения непосредственных требований. - Избегайте спекулятивной разработки: Не реализуйте функции на основе спекулятивных будущих требований. - Рефакторинг: Перерабатывайте код, чтобы удалить все ненужные или неиспользуемые функции. Это помогает сохранить код компактным и удобным для обслуживания. - Разработка, управляемая тестами: Пишите тесты для проверки необходимых функций, а не обширного тестирования гипотетических функциональных возможностей. Помните, что принцип заключается не в ограничении гибкости, а в принятии обоснованных решений, основанных на реальных требованиях.

Curiously Recurring Template Pattern (CRTP) CRTP предполагает использование шаблонов и наследования для достижения формы стат
Curiously Recurring Template Pattern (CRTP) CRTP предполагает использование шаблонов и наследования для достижения формы статического полиморфизма. Он позволяет производному классу наследоваться от базового, который параметризуется самим производным классом в качестве аргумента шаблона. В данном примере класс Base является шаблонным классом, который принимает производный класс (Derived1 или Derived2) в качестве аргумента шаблона. Класс Base предоставляет общую функциональность или интерфейс, который может быть настроен каждым производным классом. Функция implementation() в базовом классе определяется как невиртуальная. Внутри функции implementation() используется static_cast<Derived*>(this) для приведения указателя к типу производного класса. Это позволяет каждому производному классу предоставлять свою собственную реализацию функции implementation(). Когда функция implementation() вызывается на экземпляре производного класса, она вызывает соответствующую реализацию в этом производном классе.