C# | Вопросы собесов
رفتن به کانال در Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
نمایش بیشتر5 003
مشترکین
+124 ساعت
-77 روز
-130 روز
آرشیو پست ها
5 003
🔥 Один в поле не воин, поэтому топовый программист должен находится в топ команде.
🧑💻 Марк Цукерберг создал первоначальную версию Facebook в одиночку, но для превращения стартапа в глобальную социальную сеть потребовалась мощная команда.
👌 IT мероприятия - одно из тех мест, где можно найти единомышленников в данной нише.
🔥 Подпишись на канал IT события, чтобы не упустить возможность в реализации своего потенциала.
5 003
Регистрируйтесь на Yandex Scale 2024!
25 сентября состоится главная конференция Yandex Cloud для тех, кто создаёт цифровые продукты и решения. В этом году мероприятие пройдёт в МХАТ имени М. Горького в Москве и онлайн.
5 технологических треков, 31 доклад, 50 спикеров, нетворкинг — разве это не лучший способ продуктивно провести день?
Зарегистрироваться
#реклама 16+
scale.yandex.cloud
О рекламодателе
5 003
🤔 Какой из следующих типов в C# используется для работы с значениями, которые могут принимать null?
5 003
📌 Что такое partial классы?
💬 Спрашивают в 11% собеседований
В C#
partial классы позволяют определять один и тот же класс, структуру или интерфейс в нескольких файлах. Это удобно для организации кода, особенно при работе с автоматически генерируемыми файлами или при совместной работе нескольких разработчиков над одним классом.
🤔 Основные понятия
1️⃣ Разделение определения класса: Класс можно разделить на несколько частей, которые могут находиться в разных файлах. Все части объединяются компилятором в один класс.
2️⃣ Поддержка совместной разработки: Несколько разработчиков могут работать над разными частями одного класса одновременно, не мешая друг другу.
3️⃣ Автоматическая генерация кода: Инструменты, которые генерируют код (например, дизайнеры форм в Visual Studio), могут создавать одну часть класса, оставляя другую часть для ручного редактирования разработчиком.
🤔 Пример использования `partial` классов
🤔 Файл: `Person.Part1.cs`
public partial class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public void PrintFullName()
{
Console.WriteLine($"{FirstName} {LastName}");
}
}
🤔 Файл: `Person.Part2.cs`
public partial class Person
{
public int Age { get; set; }
public void PrintAge()
{
Console.WriteLine($"Age: {Age}");
}
}
🤔 Объяснение кода
1️⃣ Определение класса: Класс Person определен в двух отдельных файлах с помощью ключевого слова partial.
2️⃣ Объединение частей: Компилятор объединяет обе части класса Person в один класс. В результате, объект Person имеет все свойства и методы, определенные в обоих файлах.
🤔 Использование класса `Person`
class Program
{
static void Main(string[] args)
{
Person person = new Person
{
FirstName = "John",
LastName = "Doe",
Age = 30
};
person.PrintFullName(); // Выведет: John Doe
person.PrintAge(); // Выведет: Age: 30
}
}
🤔 Преимущества использования `partial` классов
1️⃣ Организация кода: Удобно организовывать большие классы, разделяя их на логические части.
2️⃣ Совместная разработка: Несколько разработчиков могут работать над одним классом параллельно, не создавая конфликты.
3️⃣ Интеграция с инструментами: Позволяет интегрировать автоматически генерируемый код с ручным кодом без необходимости изменения сгенерированных файлов.
🤔 Ограничения
1️⃣ Требование компилятора: Все части partial класса должны быть определены в одном и том же сборочном проекте.
2️⃣ Отсутствие циклов между частями: Нельзя создавать циклические зависимости между частями partial класса.
🤔 Краткий ответ
Partial классы в C# позволяют разделять определение одного класса на несколько файлов. Это удобно для организации кода, совместной разработки и интеграции с инструментами, генерирующими код. Компилятор объединяет все части класса в один, что позволяет работать с ним как с обычным классом.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых5 003
🤔 Какой из следующих методов интерфейса IEnumerable в C# выполняет отложенное выполнение (lazy evaluation)?
5 003
📌 С точки зрения контроля версий, каким образом обмениваться изменениями в базе данных?
💬 Спрашивают в 11% собеседований
Обмен изменениями в базе данных в контексте контроля версий может быть сложным, поскольку базы данных не являются простыми текстовыми файлами и требуют особого подхода для синхронизации изменений. Вот несколько подходов и инструментов, которые можно использовать для управления версиями базы данных и обмена изменениями:
🤔 Основные подходы
1️⃣ Миграции базы данных:
➕ Описание: Миграции — это скрипты или набор инструкций для внесения изменений в структуру базы данных. Они позволяют управлять изменениями схемы базы данных, добавлением новых таблиц, изменением существующих таблиц, созданием индексов и т.д.
➕ Использование: Разработчики создают миграции для каждого изменения схемы базы данных. Эти миграции могут быть применены последовательно для синхронизации базы данных с последней версией схемы.
➕ Примеры инструментов: Entity Framework Migrations (для .NET), Flyway, Liquibase.
// Пример миграции с использованием Entity Framework
public partial class AddNewTable : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "NewTable",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Name = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_NewTable", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(name: "NewTable");
}
}
2️⃣ Скрипты изменений:
➕ Описание: Ручное создание и управление SQL-скриптами для внесения изменений в базу данных. Эти скрипты могут включать инструкции для создания, изменения или удаления объектов базы данных.
➕ Использование: Скрипты изменений хранятся в системе контроля версий (например, Git) и применяются разработчиками и администраторами баз данных по мере необходимости.
➕ Примеры: SQL-скрипты для создания таблиц, изменения столбцов, добавления индексов и т.д.
-- Пример SQL-скрипта для добавления нового столбца в таблицу
ALTER TABLE Users ADD BirthDate DATE;
3️⃣ Инструменты для управления схемами базы данных:
➕ Описание: Существуют специализированные инструменты для управления схемами баз данных, которые позволяют автоматизировать процесс внесения изменений и синхронизации баз данных.
➕ Использование: Эти инструменты интегрируются с системами контроля версий и позволяют создавать, управлять и применять миграции и скрипты изменений.
➕ Примеры инструментов: Redgate SQL Source Control, Liquibase, Flyway.
🤔 Инструменты и практики
1️⃣ Entity Framework Migrations (для .NET):
➕ Описание: Инструмент для управления изменениями схемы базы данных в приложениях на .NET.
➕ Использование:
dotnet ef migrations add AddNewTable
dotnet ef database update
2️⃣ Flyway:
➕ Описание: Инструмент для управления миграциями баз данных, поддерживающий различные СУБД.
➕ Использование:
flyway migrate
3️⃣ Liquibase:
➕ Описание: Инструмент для управления изменениями базы данных, поддерживающий различные СУБД и интеграцию с системами контроля версий.
➕ Использование:
liquibase update
🤔 Краткий ответ
Для обмена изменениями в базе данных используется подход с миграциями, который позволяет управлять изменениями схемы базы данных. Инструменты, такие как Entity Framework Migrations, Flyway и Liquibase, помогают автоматизировать и управлять этим процессом. Миграции и скрипты изменений хранятся в системе контроля версий и применяются последовательно для синхронизации баз данных.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых5 003
🔥 Один в поле не воин, поэтому топовый программист должен находится в топ команде.
🧑💻 Марк Цукерберг создал первоначальную версию Facebook в одиночку, но для превращения стартапа в глобальную социальную сеть потребовалась мощная команда.
👌 IT мероприятия - одно из тех мест, где можно найти единомышленников в данной нише.
🔥 Подпишись на канал IT события, чтобы не упустить возможность в реализации своего потенциала.
5 003
Очная онлайн-магистратура ИТМО: станьте DevOps-инженером
Онлайн-магистратура «DevOps-инженер облачных сервисов» от Яндекс Практикум
Вы сможете работать DevOps-инженером или SRE в крупных IT-компаниях
В магистратуре вы глубоко погрузитесь в программирование и научитесь создавать стабильную облачную инфраструктуру.
А ещё будете заниматься английским, чтобы было проще устроиться в международную компанию.
Фундаментальные знания, льготы очного студента и практический опыт Яндекса
Подать заявку
#реклама 16+
practicum.yandex.ru
О рекламодателе
5 003
🤔 Какой из следующих типов в C# является неизменяемым (immutable)?
5 003
Методичка: как сделать онлайн-встречи эффективнее
Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие повестки и потерянные договоренности мешают нормально работать?
Команда МТС Линк собрала на 37 страницах полезные материалы, чек-листы и кейсы, которые помогают компаниям проводить эффективные совещания в онлайне с помощью сервиса Встречи.
Из методички узнаете:
- Как создать постоянную ссылку и подключаться на встречи в 2 клика,
- Как делать заметки и работать с файлами, не переживая за качество связи и безопасность данных.
- Как облегчает жизнь ИИ, который расшифровывает созвоны в текст и автоматически отправляет расшифровку на почту.
Еще в методичке описаны 7 способов оценки текущей эффективности ваших онлайн-встреч.
Получить гайд можно бесплатно на сайте.
Скачать
#реклама
mts-link.ru
О рекламодателе
5 003
📌 Зачем нужен git?
💬 Спрашивают в 11% собеседований
Git — это система контроля версий, которая позволяет разработчикам отслеживать изменения в коде, сотрудничать с другими разработчиками, управлять версиями программного обеспечения и работать над проектами параллельно. Он стал стандартом в индустрии разработки программного обеспечения благодаря своим мощным возможностям и гибкости.
🤔 Основные преимущества использования Git
1️⃣ Отслеживание изменений: Git позволяет отслеживать все изменения, сделанные в коде, кто их сделал и когда. Это важно для понимания истории проекта и для отката к предыдущим версиям, если что-то пошло не так.
git log
2️⃣ Ветвление и слияние: Git поддерживает мощные возможности ветвления (branching), что позволяет разработчикам работать над разными частями проекта одновременно и независимо друг от друга. Ветви можно легко сливать (merge) обратно, чтобы объединить изменения. git branch feature-branch
git checkout feature-branch
git merge main
3️⃣ Сотрудничество: Git позволяет нескольким разработчикам работать над одним и тем же проектом одновременно, не мешая друг другу. Это достигается благодаря распределенной природе Git и возможностям управления конфликтами. git clone https://github.com/user/repo.git
git pull origin main
git push origin main
4️⃣ Резервное копирование: Все изменения хранятся локально, и они могут быть легко синхронизированы с удаленным репозиторием (например, на GitHub или GitLab), что создает резервную копию проекта. git remote add origin https://github.com/user/repo.git
git push -u origin main
5️⃣ Восстановление и отмена изменений: Git позволяет легко отменить изменения или вернуться к предыдущей версии кода. git checkout <commit-hash>
git revert <commit-hash>
🤔 Основные команды Git
1️⃣ Инициализация репозитория: git init
2️⃣ Клонирование репозитория: git clone https://github.com/user/repo.git
3️⃣ Добавление изменений в индекс (staging area): git add .
4️⃣ Создание коммита: git commit -m "Сообщение коммита"
5️⃣ Просмотр состояния репозитория: git status
6️⃣ Просмотр истории коммитов: git log
7️⃣ Создание новой ветки: git branch new-branch
8️⃣ Переключение между ветками: git checkout new-branch
9️⃣ Слияние веток: git merge new-branch
1️⃣0️⃣ Отправка изменений в удаленный репозиторий: git push origin main
1️⃣1️⃣ Получение изменений из удаленного репозитория: git pull origin main
🤔 Краткий ответ
Git нужен для отслеживания изменений в коде, управления версиями, сотрудничества между разработчиками и обеспечения резервного копирования проектов. Это мощная и гибкая система контроля версий, которая стала стандартом в разработке программного обеспечения.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых5 003
Кибербезопасность на высшем уровне для вашего бизнеса
Защита мобильных устройств сотрудников от всех видов угроз.
– Совместимость с iOS, Android и Avrora OS
– Защита от вредоносных ПО и антифишинг
– Контроль функциональности (запрет камеры, Bluetooth и т.д.) и приложений
– Управление безопасностью через единую консоль
Перейти на сайт
#реклама 16+
go.kaspersky.com
О рекламодателе
5 003
🤔 Какой из следующих операторов в C# используется для явного преобразования типа с проверкой на успешность выполнения?
5 003
📌 Какие бывают самые популярные коды ошибок в HTTP?
💬 Спрашивают в 11% собеседований
В HTTP-протоколе используется множество кодов состояния, чтобы указать результат выполнения запросов. Наиболее популярные и часто встречающиеся коды ошибок группируются в диапазоны, каждый из которых указывает на определенный тип ошибки. Вот основные коды ошибок HTTP, которые важно знать:
🤔 1xx: Информационные
Эти коды состояния сообщают, что запрос был получен и продолжается обработка.
➕ 100 Continue: Указывает, что начальная часть запроса была получена и клиент должен продолжать отправку запроса.
➕ 101 Switching Protocols: Сервер согласен на переключение протоколов, как запросил клиент.
🤔 2xx: Успешные
Эти коды состояния указывают на успешное выполнение запроса.
➕ 200 OK: Запрос выполнен успешно. Ответ зависит от используемого метода HTTP (например, GET вернет запрашиваемый ресурс).
➕ 201 Created: Запрос привел к созданию нового ресурса.
➕ 204 No Content: Запрос был успешным, но в ответе не содержится контента.
🤔 3xx: Перенаправление
Эти коды состояния указывают, что клиент должен предпринять дополнительные действия для завершения запроса.
➕ 301 Moved Permanently: Ресурс был перемещен на постоянный новый URL.
➕ 302 Found: Ресурс временно находится по другому URL. Клиент должен использовать исходный URL для будущих запросов.
➕ 304 Not Modified: Ресурс не был изменен с момента последнего запроса клиента.
🤔 4xx: Ошибки клиента
Эти коды состояния указывают на ошибки, которые произошли по вине клиента.
➕ 400 Bad Request: Сервер не может обработать запрос из-за синтаксической ошибки.
➕ 401 Unauthorized: Требуется аутентификация. Клиент должен аутентифицироваться для получения запрашиваемого ресурса.
➕ 403 Forbidden: Сервер понял запрос, но отказывается его выполнять.
➕ 404 Not Found: Запрашиваемый ресурс не найден на сервере.
➕ 405 Method Not Allowed: Метод, указанный в запросе, не поддерживается данным ресурсом.
➕ 409 Conflict: Конфликт при обработке запроса, например, при попытке создать дублирующий ресурс.
➕ 429 Too Many Requests: Клиент отправил слишком много запросов за короткий промежуток времени.
🤔 5xx: Ошибки сервера
Эти коды состояния указывают на ошибки, произошедшие на сервере.
➕ 500 Internal Server Error: Внутренняя ошибка сервера. Запрос не может быть выполнен из-за ошибки на сервере.
➕ 501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса.
➕ 502 Bad Gateway: Сервер, действующий как шлюз или прокси, получил недействительный ответ от вышестоящего сервера.
➕ 503 Service Unavailable: Сервер временно не доступен, обычно из-за перегрузки или технического обслуживания.
➕ 504 Gateway Timeout: Сервер, действующий как шлюз или прокси, не получил своевременный ответ от вышестоящего сервера.
🤔 Краткий ответ
Наиболее популярные коды ошибок HTTP включают:
➕ 400 Bad Request: Неверный запрос.
➕ 401 Unauthorized: Необходима аутентификация.
➕ 403 Forbidden: Доступ запрещен.
➕ 404 Not Found: Ресурс не найден.
➕ 500 Internal Server Error: Внутренняя ошибка сервера.
➕ 503 Service Unavailable: Сервер временно не доступен.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых
5 003
🔥 Один в поле не воин, поэтому топовый программист должен находится в топ команде.
🧑💻 Марк Цукерберг создал первоначальную версию Facebook в одиночку, но для превращения стартапа в глобальную социальную сеть потребовалась мощная команда.
👌 IT мероприятия - одно из тех мест, где можно найти единомышленников в данной нише.
🔥 Подпишись на канал IT события, чтобы не упустить возможность в реализации своего потенциала.
5 003
CodeInside Аутстаффинг. Официальный telegram-канал
Нужна команда ИТ-специалистов? Все свободные разработчики в одном месте — CodeInside. Аутстаффинг
100+ свободных от проектов разработчиков (Middle, Senior, Lead) — и все в одном месте! Всех лично проверили в деле, оценили и привлекали к работе.
По каждому — подробный опыт, языки, стек тулов, опыт ОС.
По допзапросу — подробное био, отзывы и все детали.
Посмотрите, оцените, подпишитесь и сохраните канал в закладках или папках, чтобы не потерять, когда понадобятся IT-руки.
Хорошего дня!
Команда CodeInside.
Подписаться
#реклама
О рекламодателе
5 003
🤔 Какое из следующих ключевых слов в C# предотвращает переопределение метода в производных классах?
5 003
Jobski - твой помощник при поиске работы в IT
Сервис индивидуально подбирает вакансии, учитывая ваш опыт, навыки и стек технологий.
Узнать больше
#реклама
jobski.ru
О рекламодателе
5 003
📌 Что такое delete?
💬 Спрашивают в 11% собеседований
В C# и веб-программировании
DELETE обычно относится к HTTP DELETE-запросам, которые используются для удаления ресурсов на сервере. Это один из основных методов HTTP-протокола наряду с GET, POST, PUT и другими.
🤔 Основные понятия
1️⃣ HTTP DELETE-запрос: Метод HTTP, который используется для удаления ресурса, определенного по URI. Если запрос успешен, ресурс будет удален с сервера.
2️⃣ Идемпотентность: DELETE-запросы также идемпотентны, что означает, что многократное выполнение одного и того же запроса приведет к одному и тому же результату — ресурс будет удален, и последующие DELETE-запросы к тому же ресурсу не изменят состояние сервера.
3️⃣ Без тела запроса: Обычно DELETE-запросы не содержат тела запроса, но это зависит от специфики API. Некоторые API могут требовать подтверждения или дополнительные данные в теле запроса.
🤔 Пример использования HTTP DELETE-запроса в C#
Для выполнения HTTP DELETE-запроса в C# часто используется класс HttpClient, который предоставляет удобные методы для взаимодействия с веб-сервисами.
🤔 Пример удаления ресурса с помощью DELETE-запроса
1️⃣ Настройка проекта: Убедитесь, что в вашем проекте установлен пакет System.Net.Http (обычно он включен по умолчанию в .NET Core проектах).
2️⃣ Отправка DELETE-запроса: using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Создаем HttpClient
using (HttpClient client = new HttpClient())
{
// URL-адрес, на который отправляется запрос
string url = "https://example.com/api/resource/1"; // Предполагается, что ресурс с ID 1 существует
// Отправляем DELETE-запрос
HttpResponseMessage response = await client.DeleteAsync(url);
// Проверяем успешность ответа
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Ресурс успешно удален.");
}
else
{
Console.WriteLine($"Ошибка: {response.StatusCode}");
}
}
}
}
🤔 Объяснение кода
1️⃣ Создание HttpClient: Объект HttpClient используется для отправки HTTP-запросов и получения HTTP-ответов от ресурса, определенного по URI.
2️⃣ Определение URL: URL-адрес, на который будет отправлен DELETE-запрос. В данном случае предполагается, что ресурс с ID 1 существует.
3️⃣ Отправка DELETE-запроса: Метод DeleteAsync отправляет DELETE-запрос на указанный URL.
4️⃣ Проверка ответа: Проверка успешности ответа с использованием свойства IsSuccessStatusCode.
🤔 Краткий ответ
HTTP DELETE-запрос используется для удаления ресурса на сервере. В C# для выполнения DELETE-запросов часто используется класс HttpClient, который позволяет отправлять запросы и получать ответы от веб-сервисов. DELETE-запросы идемпотентны, что означает, что многократное выполнение одного и того же запроса приведет к одному и тому же результату — ресурс будет удален.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых5 003
Как повысить эффективность вебинаров?
Организация продающего вебинара - не простая задача, ведь необходимо предусмотреть множество деталей: удобную дату, вовлекающий контент, методы продвижения и взаимодействия с участниками.
Вебинары от МТС Линк помогают привлекать новых клиентов и увеличивать конверсию из участника в лид. В сервисе доступен анализ поведения пользователей во время вебинара, синхронный перевод, автовебинары и интерактивные инструменты для вовлечения участников.
Делимся методичкой с кейсами, чек-листами и инструкциями для маркетологов, PR и event-менеджеров, чтобы сделать вебинары эффективным инструментом для лидогенерации.
Получите методичку бесплатно на сайте.
Скачать
#реклама 16+
mts-link.ru
О рекламодателе
