#Собес
🤔 Как передаются аргументы функции в С++?
В С++ аргументы могут быть переданы в функцию по значению или по ссылке. При передаче по значению создаются копии значений, и изменения внутри функции не затрагивают оригинальные данные. При передаче по ссылке передается адрес памяти аргумента, что позволяет функции изменять оригинальные значения.
👉 Новости 👉 База вопросов
В С++ аргументы могут быть переданы в функцию по значению или по ссылке. При передаче по значению создаются копии значений, и изменения внутри функции не затрагивают оригинальные данные. При передаче по ссылке передается адрес памяти аргумента, что позволяет функции изменять оригинальные значения.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1👍1
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Проект — написание брандмауэра для Linux на C с нуля
В этом проекте по кибербезопасности вы изучите множество сетевых технологий, узнаете, как работает интернет-трафик, и научитесь использовать это в своем коде на C. Также вы освоите такие вещи, как сырые сокеты, режим прослушивания (promiscuous mode), netlink и UNIX-доменные сокеты.
📱 Источник
👉 Новости 👉 База вопросов
В этом проекте по кибербезопасности вы изучите множество сетевых технологий, узнаете, как работает интернет-трафик, и научитесь использовать это в своем коде на C. Также вы освоите такие вещи, как сырые сокеты, режим прослушивания (promiscuous mode), netlink и UNIX-доменные сокеты.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
😐 Утечки памяти и отладка с помощью Valgrind
Valgrind – это инструмент для отладки и профилирования, который помогает находить:
🟠 Утечки памяти
🟠 Неправильное использование выделенной памяти. Например, выход за границы массива
🟠 Использование неинициализированных переменных
После запуска Valgrind выведет отчёт, в котором укажет, где программа выделила, но не освободила память
Пример утечки и исправления
Утечка:
Освобождение памяти
👉 Новости 👉 База вопросов
Valgrind – это инструмент для отладки и профилирования, который помогает находить:
valgrind --leak-check=full ./my_program
После запуска Valgrind выведет отчёт, в котором укажет, где программа выделила, но не освободила память
Пример утечки и исправления
Утечка:
int *arr = malloc(10 * sizeof(int));
Освобождение памяти
int *arr = malloc(10 * sizeof(int));
free(arr);
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
😐 Книга "Practical Binary Analysis" от Денниса Андрисека — для тех, кто хочет залезть под капот бинарников и разобраться, как реально работает анализ исполняемых файлов на практике.
Это гайд по реверс-инжинирингу, анализу уязвимостей, и low-level хакингу, но через практику. С фокусом на бинарники, дизассемблирование, символьное исполнение, и даже немного эксплойтов. Всё с реальными примерами и кодом.
Ознакомиться
👉 Новости 👉 База вопросов
Это гайд по реверс-инжинирингу, анализу уязвимостей, и low-level хакингу, но через практику. С фокусом на бинарники, дизассемблирование, символьное исполнение, и даже немного эксплойтов. Всё с реальными примерами и кодом.
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция в MongoDB?
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
👉 Новости 👉 База вопросов
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥺 Взаимодействие между процессами (IPC) в C
IPC позволяет процессам обмениваться данными и взаимодействовать с помощью таких методов, как каналы, очереди сообщений, общая память и сокеты, обеспечивая эффективное взаимодействие.
Механизм межпроцессного взаимодействия (IPC) — это способ, с помощью которого процессы могут обмениваться информацией и координировать свои действия. Это важно в многозадачных системах, где процессы должны работать вместе или делить ресурсы.
Основные методы IPC в C:
🟠 Pipe — односторонняя передача данных между родственными процессами
🟠 Message Queue - обмен структурированными сообщениями с управлением через очередь
🟠 Shared Memory - самый быстрый способ — процессы используют общий участок памяти
🟠 Socket - связь между процессами как на одной машине, так и по сети
👉 Новости 👉 База вопросов
IPC позволяет процессам обмениваться данными и взаимодействовать с помощью таких методов, как каналы, очереди сообщений, общая память и сокеты, обеспечивая эффективное взаимодействие.
Механизм межпроцессного взаимодействия (IPC) — это способ, с помощью которого процессы могут обмениваться информацией и координировать свои действия. Это важно в многозадачных системах, где процессы должны работать вместе или делить ресурсы.
Основные методы IPC в C:
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 487. Max Consecutive Ones II
Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.
Пример:
👨💻 Алгоритм:
1⃣ Для каждого возможного начала последовательности в массиве nums начните считать количество нулей.
2⃣ Для каждой последовательности проверяйте, сколько нулей содержится в ней. Если количество нулей не превышает одного, обновите максимальную длину последовательности единиц.
3⃣ Продолжайте проверять все возможные последовательности в массиве, и верните максимальную длину последовательности единиц, удовлетворяющую условию.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 487. Max Consecutive Ones II
Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.
Пример:
Input: nums = [1,0,1,1,0]
Output: 4
Explanation:
- If we flip the first zero, nums becomes [1,1,1,1,0] and we have 4 consecutive ones.
- If we flip the second zero, nums becomes [1,0,1,1,1] and we have 3 consecutive ones.
The max number of consecutive ones is 4.
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int longestSequence = 0;
for (int left = 0; left < nums.size(); ++left) {
int numZeroes = 0;
for (int right = left; right < nums.size(); ++right) {
if (nums[right] == 0) {
numZeroes++;
}
if (numZeroes <= 1) {
longestSequence = max(longestSequence, right - left + 1);
}
}
}
return longestSequence;
}
};Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
😊 Собери простой чат-сервер на C менее чем за 40 строк!
🟠 Используя только сокеты и
🟠 Отличный способ изучить TCP, мультиплексирование ввода-вывода и сетевое программирование в Unix.
Полное руководство тык
👉 Новости 👉 База вопросов
poll, ты можешь реализовать обмен сообщениями в реальном времени между терминалом и клиентомПолное руководство тык
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #mongoDB
🤔 Что такое BSON в MongoDB?
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
👉 Новости 👉 База вопросов
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
Date, ObjectId, и бинарные данные, а также оптимизирует производительность операцийPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤓 GPU Puzzles
Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.
Это целая серия задач, где требуется написать небольшие CUDA-ядра (ядра GPU), реализующие операции вроде сложения с константой (map), поэлементного суммирования (zip), работы с блоками и потоками, свёртки, матричного умножения и других параллельных алгоритмов.
Основная цель репозитория – дать начинающим возможность непосредственно попрактиковаться в программировании под GPU, без необходимости погружаться в сложную документацию.
Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.
Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с
А здесь реализация задач на C++
Гитхаб
👉 Новости 👉 База вопросов
Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.
Это целая серия задач, где требуется написать небольшие CUDA-ядра (ядра GPU), реализующие операции вроде сложения с константой (map), поэлементного суммирования (zip), работы с блоками и потоками, свёртки, матричного умножения и других параллельных алгоритмов.
Основная цель репозитория – дать начинающим возможность непосредственно попрактиковаться в программировании под GPU, без необходимости погружаться в сложную документацию.
Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.
Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с
Tensor Puzzles, Autodiff Puzzles, Triton Puzzles и другими).А здесь реализация задач на C++
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😎 memsafe — это попытка сделать язык C++ хотя бы немного безопасным при работе с памятью
Проект добавляет макросы, которые помогают не забывать освобождать память и избегать лишних утечек. Вроде бы всё просто, но приятно
Полезно? Да.
Спасёт от всего? Конечно нет
Но по сравнению с классическим
👉 Новости 👉 База вопросов
Проект добавляет макросы, которые помогают не забывать освобождать память и избегать лишних утечек. Вроде бы всё просто, но приятно
Полезно? Да.
Спасёт от всего? Конечно нет
Но по сравнению с классическим
"malloc/forget/free/maybe", это уже прогресс Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Media is too big
VIEW IN TELEGRAM
#видео
🫠 9 различных проектов на C в 2025 году
Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
📱 Смотреть источник
👉 Новости 👉 База вопросов
Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
#Собес #mongoDB
🤔 Что такое MongoDB и чем она отличается от традиционных реляционных баз данных?
MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.
👉 Новости 👉 База вопросов
MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Язык C в операционных системах
C — идеален для операционок, потому что он ближе всех к железу
Вот как это работает:
1⃣ Пишем исходный код на C
2⃣ Компилятор превращает его в ассемблерный код
3⃣ Ассемблер собирает машинный код —> двоичный, понятный процессору
4⃣ ЦП начинает выполнение инструкций
5⃣ Через функции ОС идёт вызов системных ресурсов
6⃣ В итоге —> взаимодействие с "железом"
👉 Новости 👉 База вопросов
C — идеален для операционок, потому что он ближе всех к железу
Вот как это работает:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#полезное
😊 Это не баг, а фича
Всегда добавляй эту строку в конец своего сообщения коммита — и сам Линус Торвальдс придёт в твой проект и сделает вклад
👉 Новости 👉 База вопросов
Всегда добавляй эту строку в конец своего сообщения коммита — и сам Линус Торвальдс придёт в твой проект и сделает вклад
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2