С++ Собеседования
رفتن به کانال در Telegram
999
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-297 روز
-6630 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژانویه '26
ژانویه '26
+6
در 0 کانالها
دسامبر '25
+15
در 0 کانالها
Get PRO
نوامبر '25
+25
در 0 کانالها
Get PRO
اکتبر '25
+18
در 0 کانالها
Get PRO
سپتامبر '25
+16
در 0 کانالها
Get PRO
اوت '25
+23
در 0 کانالها
Get PRO
ژوئیه '25
+22
در 0 کانالها
Get PRO
ژوئن '25
+22
در 0 کانالها
Get PRO
مه '25
+14
در 0 کانالها
Get PRO
آوریل '25
+13
در 0 کانالها
Get PRO
مارس '25
+27
در 0 کانالها
Get PRO
فوریه '25
+25
در 0 کانالها
Get PRO
ژانویه '25
+23
در 0 کانالها
Get PRO
دسامبر '24
+28
در 0 کانالها
Get PRO
نوامبر '24
+26
در 0 کانالها
Get PRO
اکتبر '24
+127
در 2 کانالها
Get PRO
سپتامبر '24
+72
در 2 کانالها
Get PRO
اوت '24
+175
در 21 کانالها
Get PRO
ژوئیه '24
+219
در 11 کانالها
Get PRO
ژوئن '24
+1 330
در 2 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 15 ژانویه | 0 | |||
| 14 ژانویه | 0 | |||
| 13 ژانویه | 0 | |||
| 12 ژانویه | 0 | |||
| 11 ژانویه | 0 | |||
| 10 ژانویه | 0 | |||
| 09 ژانویه | +1 | |||
| 08 ژانویه | 0 | |||
| 07 ژانویه | 0 | |||
| 06 ژانویه | 0 | |||
| 05 ژانویه | +1 | |||
| 04 ژانویه | 0 | |||
| 03 ژانویه | +2 | |||
| 02 ژانویه | +2 | |||
| 01 ژانویه | 0 |
پستهای کانال
| 2 | Что выведет код с применением ranges (C++20)? | 304 |
| 3 | بدون متن... | 302 |
| 4 | 🚀 YADRO приглашает C++ разработчиков в команду OpenBMC и встроенных систем!
Если вы хотите создавать сложное программное обеспечение для серверов и систем хранения данных, работать с передовыми технологиями Linux и участвовать в проектах open source, то эта возможность для вас.
📌 Кого мы ищем:
• Ведущего разработчика C++ (Linux/OpenBMC)
• Ведущего разработчика интерфейсов встроенных систем
• TeamLead разработки OpenBMC
🧰 Технологический стек и задачи:
• C++ (стандарты 17, 20, 23), STL, Boost
• Linux-среда, systemd, D-Bus, Yocto, bash, Python
• Работа с ядром прошивки OpenBMC, взаимодействие с UEFI/BIOS
• Разработка и поддержка сложных интерфейсов встроенных систем
💼 Условия работы:
• Гибкий формат: удалённо или в офисах в Москве, Санкт-Петербурге, Екатеринбурге, Нижнем Новгороде и Минске
• Работа с масштабными проектами в уникальной команде инженеров
• Возможность горизонтального и вертикального карьерного роста
💙 Узнайте больше и откликайтесь на вакансии прямо на сайте! | 322 |
| 5 | Что выведет код ? | 369 |
| 6 | Что произойдёт при использовании std::variant? | 517 |
| 7 | بدون متن... | 446 |
| 8 | 🧠 Задача с подвохом для продвинутых C++ разработчиков
🔹 Уровень: Advanced
🔹 Темы: std::vector, управление памятью, конструкторы/деструкторы, reserve() vs resize()
📌 Условие
Рассмотрим следующий код:
#include <iostream>
#include <vector>
struct Foo {
Foo() { std::cout << "Ctor\n"; }
~Foo() { std::cout << "Dtor\n"; }
Foo(const Foo&) { std::cout << "Copy\n"; }
Foo(Foo&&) noexcept { std::cout << "Move\n"; }
};
int main() {
std::vector<Foo> v;
v.reserve(3); // Резервируем место под 3 элемента
std::cout << "--- Pushing ---\n";
for (int i = 0; i < 3; ++i) {
v.push_back(Foo());
}
std::cout << "--- Done ---\n";
}
❓ Вопросы
1. Что будет выведено на экран?
2. Почему reserve() не предотвращает конструкторы копирования/перемещения?
3. Что изменится, если заменить reserve(3) на resize(3)?
🔍 Разбор
✅ Ожидаемый вывод:
--- Pushing ---
Ctor
Move
Dtor
Ctor
Move
Dtor
Ctor
Move
Dtor
--- Done ---
Dtor
Dtor
Dtor
🔧 Почему так происходит
- Foo() создаёт временный объект.
- push_back() вызывает перемещающий конструктор Move.
- Временный объект уничтожается (вызывается `Dtor`).
- reserve(3) выделяет память, но не создаёт объектов.
🔄 Если заменить `reserve(3)` на `resize(3)`
- resize(3) создаст 3 объекта Foo через конструктор по умолчанию.
- push_back(Foo()) добавит четвёртый, возможно вызовет realocation.
- Это может привести к копированию или перемещению уже созданных элементов.
⚠️ Подвох
Многие ошибочно считают, что reserve(n) создаёт n объектов. Но это не так — reserve() только выделяет память, не вызывая конструкторы. Именно поэтому внутри push_back всё равно происходит перемещение или копирование.
🧠 Вывод
- reserve() — экономия на реаллокациях, без создания объектов.
- resize() — создаёт n объектов, вызывает конструкторы.
- Не путай эти методы — от этого зависит и производительность, и семантика.
// Резервирует память, не создаёт объекты
v.reserve(10);
// Создаёт 10 объектов Foo
v.resize(10);
📌 Совет:
Если не хочешь лишнего перемещения, используй emplace_back():
v.emplace_back(); // Вызывает конструктор Foo напрямую внутри вектора | 277 |
| 9 | 🔓Что выведет следующий код?
#include <iostream>
using namespace std;
class Base {
public:
Base() {
cout << "Base constructor: ";
call();
}
virtual void call() { cout << "Base::call\n"; }
};
class Derived : public Base {
int x = init();
int init() {
cout << "Derived::init\n";
return 42;
}
public:
Derived() {
cout << "Derived constructor\n";
}
void call() override {
cout << "Derived::call, x = " << x << "\n";
}
};
int main() {
Derived d;
return 0;
}
🔢Варианты ответа:
A)
Derived::init
Derived constructor
B)
Derived::init
Derived constructor
C)
Base constructor: Derived::call, x = 42
Derived constructor
D)
Derived::call, x = <undefined>
Derived::init
Derived constructor
✅Правильный ответ: B
💡Почему?
В момент вызова конструктора Base, объект ещё не стал Derived. Виртуальная функция вызывается в контексте Base. | 291 |
| 10 | 🔍 Что выведет этот код C++23?
constexpr auto make_checker() {
return [](int x) consteval {
return x % 3 == 0 || x % 5 == 0;
};
}
int main() {
auto checker = make_checker();
std::vector<int> numbers{1, 3, 5, 9, 10, 14, 15};
auto filtered = numbers | std::views::filter([&](int x) {
return checker(x);
});
for (int x : filtered)
std::print("{} ", x);
}
🧠 Попробуй угадать результат — он может удивить!
@cppsobes | 385 |
| 11 | Что выведет код? | 415 |
| 12 | بدون متن... | 412 |
| 13 | Что случится? | 414 |
| 14 | بدون متن... | 414 |
| 15 | Что можно успеть за 3 дня? Получить оффер Software Engineer в YADRO 🚀
Прямо сейчас российская технологическая компания YADRO проводит SPRINT OFFER для Software Engineer в двух направлениях: Linux-based и Android.
🔵 Чтобы присоединиться к команде бренда персональных устройств KVADRA с собственной операционной системой kvadraOS:
• Оставьте заявку до 24 ноября.
• Пройдите HR-скрининг.
• Пройдите техническое и менеджерское интервью.
→ На направлении Linux-based вам предстоит адаптировать исходный код Chromium для компьютеров и ноутбуков с нашими аппаратными платформами и вносить изменения в поведение устройств, учитывая продуктовые требования.
→ На направлении Android вы будете заниматься подготовкой unit-тестов своего кода. Разрабатывать собственные и адаптировать чужие приложения, если они входят в базовую поставку ОС.
Узнать подробности, оставить заявку и стать частью YADRO → по ссылке. | 291 |
| 16 | Что выведет код? | 570 |
| 17 | بدون متن... | 554 |
| 18 | Что выведт код? | 799 |
| 19 | #junior | 772 |
| 20 | Что выведет код? | 776 |
