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

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

Все IT вакансии - @frontview_all_vacancies
Download Telegram
Объявление переменной в Python — это простой процесс, который не требует явного указания типа данных. Переменная создается в момент присваивания ей значения. Например:

x = 10
name = "Alice"
is_active = True


Python автоматически определяет тип данных переменной на основе присвоенного значения. В приведенных примерах x — это целое число, name — строка, а is_active — булево значение.

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Классы и объекты — ключевые концепции объектно-ориентированного программирования в Java.

1⃣ Класс — это шаблон или "чертеж" для создания объектов. Он определяет свойства (поля) и поведение (методы), которые будут у объектов. Например:

public class Car {
String model;
int year;

void startEngine() {
System.out.println("Engine started");
}
}


2⃣ Объект — это экземпляр класса, созданный в памяти. Он имеет доступ к свойствам и методам класса. Создание объекта:

Car myCar = new Car();
myCar.model = "Toyota";
myCar.startEngine();

Классы обеспечивают структуру, а объекты — конкретные реализации этой структуры.

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

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

Пример создания таблицы для хранения информации о пользователях:


CREATE TABLE Users (
ID INT PRIMARY KEY,
Name VARCHAR(100),
Email VARCHAR(100),
RegistrationDate DATE
);

В этом примере создается таблица Users с четырьмя столбцами: ID, Name, Email и RegistrationDate. Столбец ID является первичным ключом, что гарантирует уникальность каждой записи.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Команда git status отображает состояние рабочего каталога и индекса. Она показывает, какие изменения были внесены в файлы, какие из них подготовлены для коммита, а какие нет.

Вывод команды включает информацию о:

✔️ Неотслеживаемых файлах, которые не добавлены в индекс.
✔️ Изменениях, подготовленных для коммита (staged changes).
✔️ Изменениях, которые не подготовлены для коммита (unstaged changes).

Эта команда помогает понять, какие действия необходимо предпринять перед выполнением коммита, например, добавить файлы в индекс с помощью git add.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Mutex — это механизм синхронизации, используемый для предотвращения одновременного доступа к общему ресурсу в многопоточных приложениях. В языке Go mutex предоставляется пакетом sync и используется для защиты критических секций кода.

var mu sync.Mutex

func criticalSection() {
mu.Lock()
defer mu.Unlock()
// код, работающий с общим ресурсом
}


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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔥 Для открытия файла в режиме чтения и записи используется встроенная функция 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