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

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

Все IT вакансии - @frontview_all_vacancies
Download Telegram
▶️ == и is используются для сравнения, но имеют разные цели.

🟡 Оператор == проверяет равенство значений. Он используется для сравнения содержимого объектов.

a = [1, 2, 3]
b = [1, 2, 3]

print(a == b) # True, так как значения списков одинаковы


🟠 Оператор is проверяет идентичность объектов, то есть, указывают ли переменные на один и тот же объект в памяти.

print(a is b)  # False, так как это разные объекты в памяти


🟢 Использование is подходит для проверки, ссылаются ли переменные на один и тот же объект, например, при проверке на None.

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👨‍💻1
Стандартная библиотека Go включает в себя множество пакетов, обеспечивающих широкий спектр функциональности. Основные из них:

▶️ fmt: форматированный ввод-вывод.
▶️ net/http: создание HTTP-клиентов и серверов.
▶️ os: взаимодействие с операционной системой.
▶️ io: основные интерфейсы ввода-вывода.
▶️ strconv: преобразование строк и чисел.
▶️ time: работа с датой и временем.
▶️ sync: примитивы синхронизации.

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

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

Синтаксис лямбда-выражения: (параметры) -> {тело}.

// Создание списка строк
List<String> names = Arrays.asList("Anna", "Boris", "Charlie");

// Сортировка списка с использованием лямбда-выражения
Collections.sort(names, (a, b) -> a.compareTo(b));

// Вывод отсортированного списка
names.forEach(name -> System.out.println(name));


Лямбда-выражения делают код более лаконичным и читаемым, особенно при работе с коллекциями и потоками.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
😊 В Java переменные объявляются с указанием типа данных, за которым следует имя переменной. Это позволяет компилятору знать, какой тип данных будет храниться в переменной.


int number; // Объявление целочисленной переменной
number = 10; // Инициализация переменной значением 10

String text = "Hello, World!"; // Объявление и инициализация строковой переменной

double pi = 3.14159; // Объявление и инициализация переменной с плавающей точкой


🔘 Переменные могут быть объявлены и инициализированы одновременно. Тип переменной определяет, какие значения она может хранить и какие операции можно с ней выполнять.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
Тег в Git — это указатель на определённый коммит, который обычно используется для обозначения релизов или важных версий проекта. Создать тег можно с помощью команды git tag <имя_тега>, а затем отправить его в удалённый репозиторий с помощью git push origin <имя_тега>.

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💯1
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