Библиотека собеса по C# | вопросы с собеседований
5.67K subscribers
210 photos
2 videos
1 file
184 links
Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/4c2f1c3b

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🗳️ Visitor, Observer, Decorator в Unity

Эти паттерны проектирования способные сильно упростить управление кодом и взаимодействие между объектами, тем самым уменьшить кол-во багов.

Разработчик рассказывает про три самых используемых паттерна, показывает, в каких случаях их можно применять, и делает обзор на реализацию кода.

Смотреть видео
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
В чем разница между Eager loading и Lazy Loading в EF?

Eager loading позволяет заранее определить, какие связанные данные необходимо загрузить во время выполнения запроса. Entity Framework преобразует метод Include() в JOIN, что позволяет выполнить всего один запрос к базе данных.
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.
👩‍💻 Новый формат файла решения Visual Studio (.slnx)

.slnx представляет собой простой формат XML, призванный заменить старый кошмар файлов .sln. Он доступен в VS 2022 версии 17.10, но в качестве предварительной версии. Ник Чапсас рассказывает, в чём его преимущества.

📌 Активируем: Tools -> Options -> Preview Features -> Use Solution File Pesistence Model -> Save As .slnx
Каков будет результат программы?

Ответ:
location is null
1/1/0001 12:00:00 AM

Обе переменные неинициализированы, но String со ссылочным типом, а DateTime — с типом значения. В качестве типа значения для DateTime устанавливается значение по умолчанию в полночь 1/1/1, а не null.
В чем разница между dispose и finalize в C#?

Основное различие между Dispose() и Finalize() заключается в том, что Dispose() должен быть явно вызван пользователем, а метод Finalize() вызывается сборщиком мусора при уничтожении объекта.
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов

Сложные (и многочисленные) операции в базе данных требуют солидного объема оперативной памяти — например, для создания набора результатов PostgreSQL обычно приходится:

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

Каждый из этих шагов требует памяти, и PostgreSQL может обрабатывать тысячи таких запросов одновременно. Так что рано или поздно перед разработчиками любого серьезного проекта встает необходимость решения нескольких сложных вопросов:

🔹 Как грамотно оптимизировать использование доступной памяти?
🔹 В каком соотношении распределить ОЗУ между несколькими типами памяти, которые необходимы PostgreSQL для эффективной работы?
🔹 Как предотвратить защитное завершение операционной системой процесса PostgreSQL, который использует слишком много памяти?

Для ответов на все эти вопросы нужно определить, сколько именно памяти использует PostgreSQL для основных процессов — а это сама по себе нетривиальная задача. Советы по настройке памяти так многочисленны и разнообразны, что в них сложно сориентироваться.

Поэтому в этой статье мы сведем всю мудрость экспертов к конкретным шагам, которые помогут максимально эффективно распорядиться доступной памятью.

🔗 Читать статью
🔗 Зеркало
🤔 Кем я хочу быть – DS или ML engineer? Стоит ли понимать специфику сферы?

🗓 22 августа на вебинаре «Как меняется математика в разных индустриях: от мобильных игр к фондовым рынкам» ответим на эти и другие вопросы.

Приглашенный спикер: Павел Запольский – Senior Quantitative Researcher at Exness и Co-founder GrowLytics. Запустивший более 10 проектов по машинному обучению и анализу данных для ведущих компаний.

😮 На вебинаре узнаете:

🔵 Математика в бизнесе: Чем отличаются разные сферы друг от друга. Почему стоит понимать специфику сферы
🔵 ML и продуктовое IT: Чем различается математическая сложность от индустрии к индустрии. Какие к ним необходимы уровни подготовки
🔵 Баевская математика в GameDev. Баевская математика как альтернатива AB тестированию. Как математические методы применяются в разработке игр
🔵 Finance: Что такое количественные финансы и математическое моделирование. Обсудим текущие индустриальные тренды в отрасли
🔵 Backtest: Как знания математики делают ваши активы более надежными
🔵 На практике подробно разберем два математических кейса по GameDev и Backtest.

➡️ Зарегистрироваться: https://proglib.io/w/832b0d74
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли разрешить наследование класса, но запретить переопределение метода?

Можно для второго класса в иерархии наследования, если переопределяем виртуальный метод как sealed override, тогда дальнейшее переопределение по цепочке наследования запрещено.
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
👾 У вас есть уникальный опыт, которым вы хотите поделиться? Мы предлагаем вам отличную возможность!

♦️ Напишите статью о вашем проекте и процессе разработки:
• Архитектурные решения и паттерны проектирования
• Оптимизация производительности и решение технических проблем
• Использование новых технологий или фреймворков
• Опыт работы с игровыми движками (Unity, Unreal Engine, Godot и др.)
• Алгоритмы ИИ и поведение неигровых персонажей
• Сетевой код и решение проблем многопользовательского режима
• Кроссплатформенная разработка и особенности портирования
• Инструменты и методологии для повышения эффективности разработки
• Опыт внедрения процедурной генерации контента
• Решение проблем с управлением памятью и оптимизацией ресурсов
• и т. д.

Мы опубликуем её совершенно бесплатно на нашем сайте и в социальных сетях!

📩 Отправьте вашу идею на [email protected] с темой «Статья от инди-разработчика».
В чем разница между IEnumerable и IQueryable?

IEnumerable и IQueryable — это интерфейсы C# для запроса коллекций данных, но у них есть ключевые различия:

IEnumerable:
✍🏻 Подходит для коллекций в памяти, таких как списки и массивы;
✍🏻 Выполняет запросы локально в памяти;
✍🏻 Извлекает все данные в память перед фильтрацией, сортировкой или проекцией;
✍🏻 Ограниченная поддержка отложенного выполнения;
✍🏻 Подходит для LINQ to Objects.

IQueryable:
✍🏻 Разработан для запросов к хранилищам данных, таким как базы данных;
✍🏻 Выполняет запросы к источнику данных, минимизируя передачу данных;
✍🏻 Поддерживает отложенное выполнение с выражениями;
✍🏻 Подходит для LINQ to Entities (Entity Framework) и других технологий доступа к данным.
💪🛠️ Прокачай свой бэкенд: 9 инструментов, которые стоит знать

От браузерной ИИ-песочницы PostgreSQL до суперскоростного валидатора email — обзор новейших инструментов, которые упростят вашу работу и повысят продуктивность.

Читать статью
Какое ключевое слово используется для определения асинхронного метода в C#?
Anonymous Quiz
7%
await
91%
async
1%
asyncronous
1%
parallel
Как реализовать шаблон проектирования Singleton в C#?

Мы можем реализовать шаблон проектирования синглтона в C#, используя:

✍🏻 Непотокобезопасный синглтон;
✍🏻 Потокобезопасный синглтон;
✍🏻 Потокобезопасный синглтон с двойной проверкой блокировки;
✍🏻Потокобезопасный без блокировки;
✍🏻 Используя тип Lazy .NET 4.
Расположение элементов в обратном порядке

С помощью следующего фрагмента кода мы располагаем элементы списка в обратном порядке.
Что такое процесс JIT-компилятора?

Компилятор Just-In-Time (JIT) является частью Common Language Runtime (CLR) в .NET, которая отвечает за управление выполнением программ .NET независимо от языка программирования .NET. Специфичный для языка компилятор преобразует исходный код в промежуточный язык. Затем этот промежуточный язык преобразуется в машинный код компилятором Just-In-Time (JIT). Этот машинный код специфичен для компьютерной среды, в которой работает компилятор JIT.
Напишите особенности обобщений на C#?

Generics — это метод, который улучшает ваши программы во многих отношениях, например: Он помогает вам в повторном использовании кода, производительности и безопасности типов. Вы можете создавать собственные универсальные классы, методы, интерфейсы и делегаты. Вы можете создавать универсальные классы коллекций. Библиотека классов .NET Framework содержит много новых универсальных классов коллекций в пространстве имен System.Collections.Generic. Вы также можете получить информацию о типах, используемых в универсальных типах данных во время выполнения.
Что делает метод All()?

Метод All() проверяет, соответствуют ли все элементы условию. Если все элементы соответствуют условию, то возвращается true.

В первом случае проверяем, все ли строки в массиве people имеют длину в три символа. Поскольку это условие верно, то метод All возвращает true. Во втором случае смотрим, все ли строки начинаются с буквы «T». это условие ложно, поэтому метод All возвращает false.