C#. Подготовка к интервью

C#. Подготовка к интервью

Какие темы стоит повторить

🔹 .NET/C#

Мы ожидаем, что вы знакомы с внутренним устройством стандартных структур данных, особенностями их поведения с точки зрения платформы .NET и знаете вычислительную сложность основных операций над ними. Будет большим плюсом, если вы знакомы с потокобезопасными структурами данных.

Ещё будет отлично, если вы знакомы с основными примитивами синхронизации, моделью работы памяти современных архитектур и lock-free-операциями (поговорим про GC, стек и кучу), умеете справляться с типичными проблемами, возникающими в многопоточном/асинхронном контексте.

🔹 Архитектура

Опытным специалистам мы можем предложить спроектировать сложную отказоустойчивую и высоконагруженную систему. Вам предстоит определить и сформулировать функциональные и технические требования, спроектировать высокоуровневую архитектуру, детально описать один из компонентов, оценить вычислительные ресурсы, необходимые для полномасштабного внедрения.

Как правило, задача формулируется в очень общих чертах, поэтому здесь важна активная коммуникация: задавайте уточняющие вопросы, выдвигайте обоснованные предположения и идеи, аргументируйте свою точку зрения. В процессе беседы вам может понадобиться описать потоки данных в системе, API, определить ключевые алгоритмы и структуры данных или описать структуру таблиц в СУБД, набросать черновик реализации одной из частей. Кроме проектирования ядра системы, важно определить её структуру и топологию в целом: балансировку нагрузки, сценарии отказов и соответствующих защитных механизмов, нюансы эксплуатации, способы и методы контроля штатного функционирования системы.

Также можем обсудить такие темы, как SOLID, микросервисная архитектура и Domain-Driven Design.

🔹 Алгоритмы*

Важно, чтобы вы были знакомы со стандартными алгоритмами, включая разные методы сортировки и обхода графов. Нужно уметь давать оценку сложности алгоритма в нотации big O.

🔹 Базы данных*

Темы, которые можно повторить: реляционные и нереляционные БД, план и оптимизация запросов, индексы, транзакции, очереди сообщений. 

Стоит отметить, что основная база данных в компании Ozon — PostgreSQL. Основной брокер сообщений — Kafka.

*Для некоторых департаментов в Ozon


📚 Полезные ресурсы для подготовки

По материалам блога Ozon Tech

Тэги: #csharp, #dotnet, #собеседование



Report Page