#Собес #grpc #performance #streaming
🤔 В чём преимущества и недостатки gRPC по сравнению с REST?
💬 Кратко:
gRPC даёт высокую производительность и двоичную сериализацию Protobuf, поддерживает стриминг, строгую типизацию и автоматическую генерацию кода, но требует HTTP/2, сложнее дебажить и не так широко поддерживается браузерами. REST с JSON проще в освоении, более совместим с HTTP/1.1 и широко поддерживается в инструментах, но уступает по скорости и полноте контрактов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В чём преимущества и недостатки gRPC по сравнению с REST?
💬 Кратко:
gRPC даёт высокую производительность и двоичную сериализацию Protobuf, поддерживает стриминг, строгую типизацию и автоматическую генерацию кода, но требует HTTP/2, сложнее дебажить и не так широко поддерживается браузерами. REST с JSON проще в освоении, более совместим с HTTP/1.1 и широко поддерживается в инструментах, но уступает по скорости и полноте контрактов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Техническое собеседование. Вилка до 230к. Опыт в резюме — 3.6 года.
Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/414
Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/414
#repository #net #примеры
📚 dotnet-samples
Официальная коллекция примеров кода от Microsoft для различных технологий .NET, включая C#. Охватывает ASP.NET Core, Entity Framework, Blazor и другие фреймворки. Полезен для изучения современных подходов к разработке на C#.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 dotnet-samples
Официальная коллекция примеров кода от Microsoft для различных технологий .NET, включая C#. Охватывает ASP.NET Core, Entity Framework, Blazor и другие фреймворки. Полезен для изучения современных подходов к разработке на C#.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #multiple_inheritance #interface #composition
🤔 Как перенести множественное наследование из C++ в Java?
💬 Кратко:
В Java отсутствует множественное наследование классов для избежания проблемы ромбовидного наследования и сложностей с конструкторами. Вместо этого используется множественная реализация интерфейсов, которые могут содержать методы по умолчанию (default methods). Для повторного использования кода из нескольких источников применяется композиция (включение объектов других классов) и делегирование.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как перенести множественное наследование из C++ в Java?
💬 Кратко:
В Java отсутствует множественное наследование классов для избежания проблемы ромбовидного наследования и сложностей с конструкторами. Вместо этого используется множественная реализация интерфейсов, которые могут содержать методы по умолчанию (default methods). Для повторного использования кода из нескольких источников применяется композиция (включение объектов других классов) и делегирование.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #c# #.net #postgres
🤔 Middle C# Backend разработчик в компанию TVision
Техническое собеседование. Лето 2024. Вилка: до 200к. Опыт в резюме: 3 года 4 месяца. Проект: Образовательная платформа для школ. Также были вопросы на знание React, Redux.
💬 Вопросы:
- Какие есть типы соединений (JOIN) в PostgreSQL?
- Что такое сборщик мусора (Garbage Collection) в C#?
- Что такое многопоточное программирование в .NET?
- Что такое нормальные формы в базах данных? Зачем они нужны?
- В чём отличие кластеризованного и некластеризованного индекса? Когда их стоит применять?
👉 Все вопросы из этого собеседования (21)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Middle C# Backend разработчик в компанию TVision
Техническое собеседование. Лето 2024. Вилка: до 200к. Опыт в резюме: 3 года 4 месяца. Проект: Образовательная платформа для школ. Также были вопросы на знание React, Redux.
💬 Вопросы:
- Какие есть типы соединений (JOIN) в PostgreSQL?
- Что такое сборщик мусора (Garbage Collection) в C#?
- Что такое многопоточное программирование в .NET?
- Что такое нормальные формы в базах данных? Зачем они нужны?
- В чём отличие кластеризованного и некластеризованного индекса? Когда их стоит применять?
👉 Все вопросы из этого собеседования (21)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #authentication_tokens #localStorage #sessionStorage
🤔 Где безопаснее хранить токены и почему?
💬 Кратко:
Токены безопаснее хранить в HTTP-only куках, а не в localStorage или sessionStorage. localStorage и sessionStorage доступны через JavaScript, что делает их уязвимыми для XSS-атак. HTTP-only куки недоступны для скриптов, что снижает риск утечки токена. Однако куки требуют защиты от CSRF с помощью дополнительных мер, таких как SameSite атрибуты и CSRF-токены.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Где безопаснее хранить токены и почему?
💬 Кратко:
Токены безопаснее хранить в HTTP-only куках, а не в localStorage или sessionStorage. localStorage и sessionStorage доступны через JavaScript, что делает их уязвимыми для XSS-атак. HTTP-only куки недоступны для скриптов, что снижает риск утечки токена. Однако куки требуют защиты от CSRF с помощью дополнительных мер, таких как SameSite атрибуты и CSRF-токены.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Технический скрининг. Вилка не обсуждалась, кандидат ищет от 300к. Опыт в резюме — 3.6+ года.
Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/445
Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/445
#article #highload #dotnet
📚 Система резервации на 600 заказов в секунду без буферизации и другой дичи
Автор подробно показывает, как создать высоконагруженный сервис резервирования остатков товаров в базе данных на .NET/C# и PostgreSQL, который способен обрабатывать сотни заказов в секунду без буферизации и лишних ухищрений. Он описывает архитектуру приложения, модель данных, настройки Entity Framework и схемы транзакционной обработки, объясняет, как гарантировать целостность данных и инвариант (чтобы резерв не превышал остаток), а также делится практическими примерами кода и оптимизаций для достижения высокой пропускной способности в условиях конкурентных обновлений
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Система резервации на 600 заказов в секунду без буферизации и другой дичи
Автор подробно показывает, как создать высоконагруженный сервис резервирования остатков товаров в базе данных на .NET/C# и PostgreSQL, который способен обрабатывать сотни заказов в секунду без буферизации и лишних ухищрений. Он описывает архитектуру приложения, модель данных, настройки Entity Framework и схемы транзакционной обработки, объясняет, как гарантировать целостность данных и инвариант (чтобы резерв не превышал остаток), а также делится практическими примерами кода и оптимизаций для достижения высокой пропускной способности в условиях конкурентных обновлений
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #csharp #unity #optimization
🤔 Какие инструменты можно использовать для анализа производительности?
💬 Кратко:
Для анализа производительности используются: Unity Profiler, Unreal Profiler, RenderDoc для графики, Memory Profiler для утечек памяти, VTune для CPU анализа, NVIDIA Nsight для GPU. Эти инструменты помогают найти узкие места в рендеринге, логике и использовании памяти.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие инструменты можно использовать для анализа производительности?
💬 Кратко:
Для анализа производительности используются: Unity Profiler, Unreal Profiler, RenderDoc для графики, Memory Profiler для утечек памяти, VTune для CPU анализа, NVIDIA Nsight для GPU. Эти инструменты помогают найти узкие места в рендеринге, логике и использовании памяти.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #type #dictionary #list
🤔 Middle C# Backend разработчик в компанию Платформа
Техническое собеседование. Осень 2024. Просил 350 к. Опыт в резюме: 3+ года. На собеседование было много вопросов по .NET, паттернам проектирования, в конце затронули математику.
💬 Вопросы:
- С какими ORM вы сталкивались (Entity Framework, Dapper и др.)?
- Приходилось ли писать T-SQL-запросы вручную?
- Знаете ли вы базовые математические операции над векторами и матрицами (например, скалярное произведение) и их смысл?
- На какие категории в .NET делятся типы данных и в чём ключевые отличия между value type и reference type?
- Как устроена строка в C# — ссылочный тип или значимый, и зачем нужен string pool (интернирование)?
👉 Все вопросы из этого собеседования (23)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Middle C# Backend разработчик в компанию Платформа
Техническое собеседование. Осень 2024. Просил 350 к. Опыт в резюме: 3+ года. На собеседование было много вопросов по .NET, паттернам проектирования, в конце затронули математику.
💬 Вопросы:
- С какими ORM вы сталкивались (Entity Framework, Dapper и др.)?
- Приходилось ли писать T-SQL-запросы вручную?
- Знаете ли вы базовые математические операции над векторами и матрицами (например, скалярное произведение) и их смысл?
- На какие категории в .NET делятся типы данных и в чём ключевые отличия между value type и reference type?
- Как устроена строка в C# — ссылочный тип или значимый, и зачем нужен string pool (интернирование)?
👉 Все вопросы из этого собеседования (23)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #explain
🤔 Какие инструменты используются для анализа производительности SQL-запросов
💬 Кратко:
Для анализа SQL-запросов используют встроенные инструменты базы данных. Основной инструмент —
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие инструменты используются для анализа производительности SQL-запросов
💬 Кратко:
Для анализа SQL-запросов используют встроенные инструменты базы данных. Основной инструмент —
EXPLAIN и EXPLAIN ANALYZE. Они показывают план выполнения запроса. Также используются логи и мониторинг. Эти инструменты помогают понять, где теряется производительность.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #tutorials #exercise
📚 W3schools
На сайте представлены интерактивные уроки и справочные материалы по HTML, CSS, JavaScript, SQL, Python и другим технологиям; есть онлайн‑редактор для практики, примеры кода с возможностью редактирования и тестирования, а также разделы с упражнениями и тестами для закрепления знаний.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 W3schools
На сайте представлены интерактивные уроки и справочные материалы по HTML, CSS, JavaScript, SQL, Python и другим технологиям; есть онлайн‑редактор для практики, примеры кода с возможностью редактирования и тестирования, а также разделы с упражнениями и тестами для закрепления знаний.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #microservices_challenges #distributed_systems
🤔 Какие сложности возникли при переходе на микросервисы (определение границ сервисов, дублирование функционала)?
💬 Кратко:
Основные сложности:
- Определение границ сервисов
- Дублирование кода/данных
- Сложность отладки
- Согласованность данных
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие сложности возникли при переходе на микросервисы (определение границ сервисов, дублирование функционала)?
💬 Кратко:
Основные сложности:
- Определение границ сервисов
- Дублирование кода/данных
- Сложность отладки
- Согласованность данных
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #int #char #struct
🤔 Объясните различия между типами значений и ссылочными типами.
💬 Кратко:
Типы значений хранят данные непосредственно в своей памяти (например,
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Объясните различия между типами значений и ссылочными типами.
💬 Кратко:
Типы значений хранят данные непосредственно в своей памяти (например,
int), а ссылочные типы содержат ссылку на данные, расположенные в другой области памяти (например, объекты классов). Типы значений хранятся в стеке, а ссылочные — в куче.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #http2 #multiplexing
🤔 Для чего применяется HTTP/2 и чем он отличается от HTTP/1.1 с точки зрения модели запросов и производительности?
💬 Кратко:
HTTP/2 решает главную проблему HTTP/1.1 — неэффективность множества параллельных запросов. Он использует одно соединение и мультиплексирует несколько потоков данных внутри него, избегая блокировок и экономя задержку. Заголовки сжимаются, статические ресурсы передаются быстрее, а сервер может отправлять данные клиенту заранее (server push). В итоге HTTP/2 уменьшает время загрузки страниц и снижает сетевые накладные расходы.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Для чего применяется HTTP/2 и чем он отличается от HTTP/1.1 с точки зрения модели запросов и производительности?
💬 Кратко:
HTTP/2 решает главную проблему HTTP/1.1 — неэффективность множества параллельных запросов. Он использует одно соединение и мультиплексирует несколько потоков данных внутри него, избегая блокировок и экономя задержку. Заголовки сжимаются, статические ресурсы передаются быстрее, а сервер может отправлять данные клиенту заранее (server push). В итоге HTTP/2 уменьшает время загрузки страниц и снижает сетевые накладные расходы.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #api
📚 Разработка Web API на ASP.NET Core 5 и .NET 5
Используя чистую архитектуру (clean architecture), ASP NET Core 5, EF Core 5, Swagger, IdentityServer4, C#, SQLite, Fluent Validation, XUnit, NSwag Studio, Serilog, Automapper, MediatR, CQRS мы будем разрабатывать web api для работы с заметками.
Мы пройдемся по всем основным этапам разработки web api и в итоге получим масштабируемый, легко поддерживаемый проект Web API, сделанный с использованием good practices.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Разработка Web API на ASP.NET Core 5 и .NET 5
Используя чистую архитектуру (clean architecture), ASP NET Core 5, EF Core 5, Swagger, IdentityServer4, C#, SQLite, Fluent Validation, XUnit, NSwag Studio, Serilog, Automapper, MediatR, CQRS мы будем разрабатывать web api для работы с заметками.
Мы пройдемся по всем основным этапам разработки web api и в итоге получим масштабируемый, легко поддерживаемый проект Web API, сделанный с использованием good practices.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #boxing #memory #performance
🤔 Когда происходит боксинг?
💬 Кратко:
Боксинг происходит, когда тип значения (например, int или struct) преобразуется в ссылочный тип object. Это нужно, когда тип значения используется там, где ожидается object - например, при добавлении в коллекцию ArrayList. При этом создается новый объект в куче, что требует дополнительной памяти и времени. Распаковка (unboxing) - обратный процесс, когда object преобразуется обратно в тип значения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Когда происходит боксинг?
💬 Кратко:
Боксинг происходит, когда тип значения (например, int или struct) преобразуется в ссылочный тип object. Это нужно, когда тип значения используется там, где ожидается object - например, при добавлении в коллекцию ArrayList. При этом создается новый объект в куче, что требует дополнительной памяти и времени. Распаковка (unboxing) - обратный процесс, когда object преобразуется обратно в тип значения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #Entity_Framework #SaveChanges #SQL
🤔 Что делает метод SaveChanges() — отправляет ли он дополнительный запрос в базу для сравнения?
💬 Кратко:
Метод SaveChanges() не отправляет дополнительный запрос для сравнения. Он анализирует изменения, отслеживаемые контекстом (change tracker), и генерирует соответствующие SQL-команды INSERT, UPDATE или DELETE. Затем эти команды выполняются в одной транзакции. Дополнительных запросов на сравнение не требуется, так как EF Core отслеживает состояние каждой сущности.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что делает метод SaveChanges() — отправляет ли он дополнительный запрос в базу для сравнения?
💬 Кратко:
Метод SaveChanges() не отправляет дополнительный запрос для сравнения. Он анализирует изменения, отслеживаемые контекстом (change tracker), и генерирует соответствующие SQL-команды INSERT, UPDATE или DELETE. Затем эти команды выполняются в одной транзакции. Дополнительных запросов на сравнение не требуется, так как EF Core отслеживает состояние каждой сущности.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #HTTP_HEAD #HTTP_methods #REST_API
🤔 Для чего используется HEAD-запрос?
💬 Кратко:
HEAD-запрос похож на GET, но сервер не возвращает тело ответа. Он используется для проверки существования ресурса, получения метаданных (заголовков) или проверки времени последнего изменения без загрузки содержимого. Это экономит трафик и ускоряет работу.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Для чего используется HEAD-запрос?
💬 Кратко:
HEAD-запрос похож на GET, но сервер не возвращает тело ответа. Он используется для проверки существования ресурса, получения метаданных (заголовков) или проверки времени последнего изменения без загрузки содержимого. Это экономит трафик и ускоряет работу.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#documentation #http
📚 Все про HTTP
Тут собрано всё, что нужно знать про самый популярный протокол интернета
✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Все про HTTP
Тут собрано всё, что нужно знать про самый популярный протокол интернета
✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sealed #inheritance #override
🤔 Что такое запечатанные (sealed) классы в C#?
💬 Кратко:
Запечатанный (sealed) класс не позволяет создавать от него производные классы. Это защищает класс от модификаций и обеспечивает его неизменяемость.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое запечатанные (sealed) классы в C#?
💬 Кратко:
Запечатанный (sealed) класс не позволяет создавать от него производные классы. Это защищает класс от модификаций и обеспечивает его неизменяемость.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа