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

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

Все IT вакансии - @frontview_all_vacancies
Download Telegram
int используется для хранения целых чисел. Он занимает обычно 4 байта памяти и не поддерживает дробные значения.

int number = 42; // Целое число


float предназначен для чисел с плавающей точкой, позволяя хранить дробные значения. Он также занимает 4 байта, но может представлять числа с десятичной частью.

float decimal = 3.14f; // Число с плавающей точкой


✔️ Основное различие в том, что int подходит для целых чисел, тогда как float используется для чисел с дробной частью.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Для добавления данных в таблицу используется оператор INSERT INTO, который позволяет вставить одну или несколько строк данных. Необходимо указать название таблицы, столбцы, в которые будут добавлены данные, и сами значения, которые должны быть вставлены.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🖇 Делегат в C# — это тип, который представляет ссылки на методы с определённой сигнатурой. Делегаты позволяют инкапсулировать метод в объекте, что делает их похожими на указатели на функции в C++, но с безопасностью типов.

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


// Объявление делегата, который принимает два целых числа и возвращает целое число
public delegate int Operation(int x, int y);

// Метод, соответствующий делегату
public static int Add(int a, int b) => a + b;

// Использование делегата
Operation op = Add;
int result = op(3, 4); // Вызов метода через делегат


✔️ Делегаты обеспечивают гибкость и расширяемость кода, позволяя передавать методы как параметры.

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

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

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


# Исходный список с дубликатами
numbers = [1, 2, 2, 3, 4, 4, 5]

# Преобразование в множество и обратно в список
unique_numbers = list(set(numbers))


❗️ Этот метод прост и эффективен, но не сохраняет порядок элементов в списке.

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
🟠 Функция main() в пакете main в языке Go играет ключевую роль, так как она является точкой входа для выполнения программы. Когда программа запускается, Go ищет пакет main и вызывает функцию main(). Без этой функции программа не будет компилироваться.


package main

import "fmt"

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


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

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
📝 Индексация в Git — это процесс добавления изменений в промежуточную область, называемую индексом или стадией, перед фиксацией в репозиторий. Она позволяет подготовить и просмотреть изменения, которые будут включены в следующий коммит, обеспечивая контроль над тем, какие изменения сохраняются в истории проекта.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
🟠 Цикл for в C++ используется для повторения блока кода определенное количество раз. Он состоит из трех частей: инициализация, условие и итерация.


#include <iostream>

int main() {
// Инициализация: int i = 0
// Условие: i < 5
// Итерация: i++
for (int i = 0; i < 5; i++) {
std::cout << "Итерация: " << i << std::endl; // Вывод текущей итерации
}
return 0;


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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
❗️Связь "один ко многим" в SQL реализуется с помощью внешнего ключа. В таблице "многие" создается столбец, который ссылается на первичный ключ таблицы "один".


CREATE TABLE Authors (
AuthorID INT PRIMARY KEY, -- Первичный ключ таблицы авторов
Name VARCHAR(100)
);

CREATE TABLE Books (
BookID INT PRIMARY KEY, -- Первичный ключ таблицы книг
Title VARCHAR(100),
AuthorID INT, -- Внешний ключ, ссылающийся на таблицу Authors
FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID)
);


В данном примере один автор может иметь много книг.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Task представляет собой асинхронную операцию в C#, которая может выполняться в фоновом режиме, не блокируя основной поток, и позволяет управлять её завершением. Task<T> является обобщённой версией Task, которая возвращает результат типа T после завершения асинхронной операции, что позволяет получать данные из асинхронных методов.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Динамическая типизация означает, что переменные не имеют фиксированного типа данных. Тип переменной определяется во время выполнения, в зависимости от присвоенного значения. Это позволяет гибко работать с переменными, но требует осторожности, чтобы избежать ошибок.

Пример:


$value = 10; // Переменная $value имеет тип integer
$value = "Hello"; // Теперь $value имеет тип string


PHP автоматически преобразует типы, когда это необходимо, например, при сложении числа и строки:


$sum = 5 + "10"; // Результат: 15, строка "10" преобразуется в число


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

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
🛑Docker — это платформа для автоматизации развертывания, масштабирования и управления приложениями в контейнерах.

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

🛑Это упрощает процесс разработки, тестирования и развертывания приложений, делая его более эффективным и предсказуемым.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Структура — это пользовательский тип данных, который позволяет объединять данные разных типов в одном логическом блоке, что упрощает управление сложными данными. Для объявления структуры используется ключевое слово type, за которым следует имя структуры и ключевое слово struct с набором полей, определяющих её свойства.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
▶️ Java Memory Model (JMM) определяет, как потоки в Java взаимодействуют через память. Он описывает правила чтения и записи переменных, обеспечивая предсказуемость многопоточного поведения.

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

Пример: volatile гарантирует видимость изменений переменной между потоками.


class Example {
private volatile boolean flag = true;

void stop() {
flag = false; // Изменение видимо другим потокам
}
}


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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Указатель в C++ — это переменная, которая хранит адрес другой переменной в памяти, позволяя напрямую работать с этой памятью. Указатель объявляется с использованием символа *, например, int* ptr, где ptr — это указатель на переменную типа int.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Реализация связи "многие ко многим" требует создания промежуточной таблицы, которая будет содержать внешние ключи, ссылающиеся на первичные ключи связанных таблиц. Это позволяет каждой записи из одной таблицы соответствовать нескольким записям из другой и наоборот.


-- Таблица студентов
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);

-- Таблица курсов
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);

-- Промежуточная таблица для связи "многие ко многим"
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),
PRIMARY KEY (StudentID, CourseID)
);


Эта структура позволяет одному студенту записываться на несколько курсов и одному курсу иметь нескольких студентов.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
String представляет собой неизменяемый объект, что означает, что любые операции над строками создают новые экземпляры, тогда как StringBuilder предназначен для изменения строк без создания новых объектов, что делает его более эффективным для частых операций изменения строк. Использование StringBuilder рекомендуется, когда требуется выполнять множество операций над строками, чтобы избежать избыточного расхода памяти.

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