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

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

Все IT вакансии - @frontview_all_vacancies
Download Telegram
📌 Горутины — это легковесные потоки, которые позволяют выполнять функции параллельно, эффективно используя ресурсы системы. Они запускаются с помощью ключевого слова 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
🛑Паттерн Singleton — это порождающий паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Это полезно, когда требуется контролировать доступ к какому-либо общему ресурсу, например, к базе данных или файлу конфигурации.

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

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

🔵 Для создания пустого списка используется квадратные скобки:
my_list = []  # Создание пустого списка


🔴 Создание списка с элементами:
fruits = ["apple", "banana", "cherry"]  # Список с тремя строковыми элементами


🟢 Элементы списка можно изменять:
fruits[0] = "orange"  # Изменение первого элемента списка


⚫️ Списки поддерживают различные методы, такие как append(), remove(), sort(), которые позволяют добавлять, удалять и сортировать элементы.

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

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
List, Set и Map — это интерфейсы коллекций в Java, каждый из которых имеет свои особенности.

😎 List — это упорядоченная коллекция, которая допускает дублирование элементов. Элементы в List имеют индексы, что позволяет обращаться к ним по порядковому номеру.

😎 Set — это коллекция, которая не допускает дублирования элементов. Порядок элементов в Set не гарантируется, и доступ к ним осуществляется через итерацию.

😎 Map — это коллекция пар "ключ-значение", где каждый ключ уникален. Map не является частью иерархии Collection, но часто используется для хранения ассоциативных массивов.

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

✈️ Backend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🖇 Класс — это шаблон для создания объектов, который объединяет данные и методы для работы с этими данными. Классы позволяют организовать код, делая его более читаемым и поддерживаемым.


class Car {
// Свойства класса
public $color;
public $model;

// Конструктор класса
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}

// Метод класса
public function displayInfo() {
return "Машина: $this->color $this->model";
}
}

// Создание объекта класса Car
$myCar = new Car("красный", "Lexus");
echo $myCar->displayInfo(); // Выводит: Машина: красный Lexus


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

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


type Person struct {
Name string
Age int
}

p := new(Person)
// p - указатель на структуру Person с нулевыми значениями полей


new полезен, когда требуется указатель на новый объект, но не требуется явная инициализация значений.

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

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

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