Backend собеседования
465 subscribers
104 photos
104 links
Подготовка к собеседованиям на позицию Backend-разработчик

Еще больше разобранных вопросов для подготовки на сайте https://frontview-it.ru

Все IT вакансии - @frontview_all_vacancies
Download Telegram
🔥 Для открытия файла в режиме чтения и записи используется встроенная функция open() с режимом 'r+':
file = open('example.txt', 'r+')


▶️ Основные режимы работы с файлами:
'r' - только чтение
'w' - только запись (создает новый файл)
'a' - добавление в конец файла
'r+' - чтение и запись
'w+' - чтение и запись (создает новый файл)
'a+' - чтение и добавление

▶️ Важно закрывать файл после работы с ним:
file.close()


▶️Рекомендуется использовать контекстный менеджер with:
with open('example.txt', 'r+') as file:
content = file.read()
file.write('new text')


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💯1
Оператор using в C# используется для управления ресурсами, которые требуют освобождения после использования, например, файловые потоки или соединения с базой данных. Он гарантирует, что метод Dispose() будет вызван автоматически, когда объект больше не нужен, даже если произойдет исключение. Это помогает избежать утечек памяти и других проблем, связанных с ресурсами.

Синтаксис using позволяет сократить код и улучшить его читаемость, обеспечивая безопасное использование ресурсов в блоке кода.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
Объектно-ориентированное программирование (ООП) — это парадигма программирования, основанная на концепции "объектов", которые могут содержать данные и код для обработки этих данных. Основные принципы ООП включают:

1️⃣ Инкапсуляция: скрытие внутренней реализации объекта и предоставление доступа к данным только через методы.

2️⃣ Наследование: создание новых классов на основе существующих, что позволяет повторно использовать код.

3️⃣ Полиморфизм: способность объектов разных классов обрабатывать вызовы методов с одинаковым именем.

4️⃣ Абстракция: выделение общих характеристик объектов и создание абстрактных классов, которые определяют интерфейсы для их реализации.

ООП способствует модульности и повторному использованию кода.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
🛑JVM (Java Virtual Machine) — это виртуальная машина, которая исполняет Java байт-код. Она обеспечивает платформонезависимость, позволяя Java-программам выполняться на любом устройстве с установленной JVM.

🛑JRE (Java Runtime Environment) включает JVM и библиотеки, необходимые для выполнения Java-программ. Это среда выполнения, но не включает инструменты для разработки.

🛑JDK (Java Development Kit) — это набор инструментов для разработки Java-приложений, включающий JRE, компилятор javac и другие утилиты.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥2
JOIN-операторы используются для объединения строк из двух или более таблиц на основе связанного столбца между ними. Основные типы JOIN-операторов:

⏯️ INNER JOIN: Возвращает только те строки, которые имеют совпадения в обеих таблицах. Это наиболее часто используемый тип JOIN.

2️⃣ LEFT JOIN: Возвращает все строки из левой таблицы и совпадающие строки из правой. Если совпадений нет, возвращаются NULL для правой таблицы.

3️⃣ RIGHT JOIN: Аналогично LEFT JOIN, но возвращает все строки из правой таблицы и совпадающие строки из левой.

4️⃣ FULL JOIN : Возвращает строки, когда есть совпадения в одной из таблиц. Если совпадений нет, возвращаются NULL для отсутствующих данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Новая ветка позволяет изолировать изменения и работать над новыми фичами или фиксами без влияния на основную кодовую базу. Новая ветка с помощью команды:

git branch имя_ветки


🔘Затем переключение на новую ветку выполняется командой:

git checkout имя_ветки


🔘Начиная с версии Git 2.23, можно использовать команду git switch:

git switch -c имя_ветки


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
🔴 Наиболее распространенный способ — использовать оператор +. Например: result = "Hello, " + "world!" создаст строку "Hello, world!".

🔴 Метод join() позволяет объединять элементы списка в одну строку. Например: result = ", ".join(["apple", "banana", "cherry"]) создаст строку "apple, banana, cherry".

🔴 Форматирование строк с помощью f-строк также возможно: name = "Alice"; result = f"Hello, {name}!" создаст строку "Hello, Alice!".

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
var используется для явного объявления переменной с указанием типа. Это позволяет задать начальное значение или оставить его по умолчанию. Например:

var x int = 10


:= — это короткая форма объявления и инициализации переменной без явного указания типа. Тип выводится автоматически на основе присваиваемого значения. Этот способ можно использовать только внутри функций. Пример:

x := 10


Основное отличие в том, что var можно использовать в любом месте, а := — только внутри функций.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯1
🔥 Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему. Это полезно, когда требуется контролировать доступ к какому-либо ресурсу, например, к базе данных или файлу конфигурации.

Реализация Singleton включает в себя закрытый конструктор, статический метод для получения экземпляра и статическое поле для хранения этого экземпляра. Это предотвращает создание новых экземпляров извне и обеспечивает доступ к единственному экземпляру через статический метод.


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Подзапрос в SQL — это запрос, вложенный внутри другого запроса. Он используется для выполнения операций, которые требуют промежуточных результатов. Подзапросы могут находиться в различных частях основного запроса, таких как SELECT, FROM, WHERE, или HAVING.

Пример использования подзапроса в секции WHERE:

SELECT name 
FROM employees
WHERE department_id = (
SELECT id
FROM departments
WHERE name = 'Sales'
);


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
➡️ C++ и C — это два языка программирования, которые имеют общие корни, но различаются по функциональности и применению.

➡️ C++ является расширением C и поддерживает объектно-ориентированное программирование (ООП), что позволяет создавать классы и объекты. Это упрощает разработку сложных программ и улучшает их поддержку.

➡️ C++ поддерживает перегрузку функций и операторов, что позволяет создавать более гибкие и читаемые интерфейсы.

➡️ C++ имеет стандартную библиотеку, которая включает контейнеры, алгоритмы и функции для работы с потоками ввода-вывода, что упрощает разработку.

➡️ C++ поддерживает шаблоны, позволяющие создавать обобщённые функции и классы, что повышает гибкость и повторное использование кода.

➡️ C++ включает обработку исключений, что позволяет более эффективно управлять ошибками в программе.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
Область видимости переменной в Python определяет, где в коде переменная может быть доступна. Существует четыре типа областей видимости:

1️⃣ Локальная: Переменные, объявленные внутри функции, доступны только в этой функции.

2️⃣ Глобальная: Переменные, объявленные на уровне модуля, доступны во всём модуле.

3️⃣ Встроенная: Переменные, определённые во встроенных модулях Python.

4️⃣ Область видимости замыканий: Переменные, объявленные в объемлющей функции, доступны во вложенных функциях.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
🔴Создание коммита в Git включает несколько шагов. Сначала необходимо добавить изменения в индекс с помощью команды git add <файл> или git add . для добавления всех изменений.

🔴После этого создается коммит с описанием изменений с помощью команды git commit -m "сообщение коммита". Сообщение коммита должно быть информативным, чтобы четко описывать внесенные изменения.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
🛑Паттерны проектирования — это проверенные решения общих проблем, возникающих при разработке программного обеспечения. Они представляют собой шаблоны, которые можно использовать для решения типичных задач в проектировании архитектуры приложений.

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

🛑Использование паттернов позволяет создавать более надежные и масштабируемые системы, избегая распространенных ошибок.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
📍 Цикл for в Java используется для многократного выполнения блока кода. Он состоит из трех частей: инициализация, условие и итерация.


for (int i = 0; i < 5; i++) {
System.out.println(i); // Выводит числа от 0 до 4
}


Инициализация выполняется один раз в начале. Условие проверяется перед каждой итерацией, и если оно истинно, выполняется тело цикла. После каждой итерации выполняется шаг итерации. Цикл завершает работу, когда условие становится ложным.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
JIT-компиляция (Just-In-Time) — это технология, используемая в средах выполнения, таких как .NET, для динамической компиляции байт-кода в машинный код непосредственно перед его выполнением, что позволяет оптимизировать производительность приложения. Она сочетает в себе преимущества интерпретации и статической компиляции, обеспечивая более быструю работу программ за счет оптимизации кода в момент его выполнения.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
🪅 Для создания таблицы в SQL используется оператор CREATE TABLE. Он позволяет определить структуру таблицы, включая имена и типы данных столбцов.


-- Создание таблицы пользователей
CREATE TABLE Users (
UserID INT PRIMARY KEY, -- Идентификатор пользователя
UserName VARCHAR(50), -- Имя пользователя
Email VARCHAR(100), -- Электронная почта
CreatedAt DATE -- Дата создания
);


🪅 В этом примере создается таблица Users с четырьмя столбцами: UserID, UserName, Email и CreatedAt. Столбец UserID является первичным ключом.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
📌 Горутины — это легковесные потоки, которые позволяют выполнять функции параллельно, эффективно используя ресурсы системы. Они запускаются с помощью ключевого слова go и управляются планировщиком Go, что позволяет создавать тысячи горутин без значительных накладных расходов.


// Функция, которая будет выполняться в горутине
func sayHello() {
fmt.Println("Hello, World!")
}

// Запуск функции sayHello в горутине
go sayHello()


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💯1
Команда git checkout -b создает новую ветку от текущей и сразу переключается на нее.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤩2
C++ поддерживает несколько основных типов данных, которые можно использовать для хранения различных значений в программе.

1️⃣ Целочисленные типы: int, short, long, long long, unsigned int и другие. Они используются для хранения целых чисел.

2️⃣ Типы с плавающей точкой: float, double, long double. Эти типы предназначены для хранения чисел с дробной частью.

3️⃣ Символьный тип: char. Используется для хранения символов.

4️⃣ Логический тип: bool. Хранит значения true или false.

5️⃣ Тип void: Используется для указания отсутствия типа, например, в функциях, которые ничего не возвращают.

6️⃣ Типы данных, определяемые пользователем: struct, class, enum. Позволяют создавать сложные структуры данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81