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

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

Все IT вакансии - @frontview_all_vacancies
Download Telegram
😊 В 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
Структура — это пользовательский тип данных, который позволяет объединять данные разных типов в одном логическом блоке, что упрощает управление сложными данными. Для объявления структуры используется ключевое слово 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