{}
или функции set()
. Особенность множества заключается в том, что оно содержит только уникальные элементы и не поддерживает порядок.
my_set = {1, 2, 3, 4} # Создание множества
Если передать список или строку в
set()
, будут удалены дубликаты:
unique_elements = set([1, 2, 2, 3]) # {1, 2, 3}
Множества поддерживают операции объединения, пересечения и разности.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключевое слово
Функции, вызванные с
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Backend собеседования
defer
в Go используется для отложенного выполнения функции до завершения текущей функции. Это полезно для освобождения ресурсов, таких как закрытие файлов или разблокировка мьютексов.
func readFile(filename string) {
file, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
defer file.Close() // Закрытие файла будет выполнено перед выходом из функции
// Работа с файлом
}
Функции, вызванные с
defer
, выполняются в порядке LIFO (последний добавленный — первый выполненный). Это гарантирует, что ресурсы освобождаются в правильном порядке.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
new
, за которым следует вызов конструктора класса. Конструктор инициализирует объект и выделяет память под него.
ClassName obj = new ClassName();
Если у класса есть параметризованный конструктор, можно передать аргументы:
ClassName obj = new ClassName(arg1, arg2);
После создания объект можно использовать для вызова методов или доступа к полям. Если конструктор по умолчанию отсутствует, его необходимо явно определить в классе.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
git log
. Она отображает список коммитов в обратном хронологическом порядке, включая хэш, автора, дату и сообщение коммита.
git log
Для более компактного вывода можно добавить флаг
--oneline
, который покажет только хэш и сообщение коммита.
git log --oneline
Чтобы ограничить количество отображаемых коммитов, используется флаг
-n
, например, -n 5
покажет последние 5 коммитов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
class MyClass {
public:
MyClass() {
// Конструктор по умолчанию
}
};
MyClass obj; // Создание объекта
Если конструктор принимает параметры, объект создается так:
MyClass obj(arg1, arg2); // Передача аргументов в конструктор
Также объект можно создать динамически с помощью оператора
new
, что возвращает указатель на объект.
MyClass* obj = new MyClass(); // Динамическое создание объекта
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
CREATE INDEX idx_name ON users (name);
В примере создается индекс для столбца
name
в таблице users
. Это ускоряет поиск по имени, но может замедлить операции вставки и обновления, так как индексы требуют дополнительных ресурсов для поддержания актуальности.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
int number = 42;
double pi = 3.14;
bool isTrue = true;
string text = "Hello";
Эти типы являются частью системы типов .NET и поддерживают операции, специфичные для их категории. Пользовательские типы, такие как классы и структуры, создаются разработчиками для решения конкретных задач.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Route::get('/user', [UserController::class, 'index']);
Пример маршрута, который связывает URL с методом контроллера. Laravel также предоставляет инструменты для аутентификации, кеширования и обработки очередей, что ускоряет разработку.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
{}
, что делает код более читаемым и удобным.
name = "Alice"
age = 30
message = f"My name is {name} and I am {age} years old."
В примере переменные
name
и age
подставляются непосредственно в строку. F-строки поддерживают любые выражения, включая вызовы функций и арифметические операции.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
**kwargs
позволяет передавать в функцию произвольное количество именованных аргументов в виде словаря. Это полезно, когда количество или имена аргументов заранее неизвестны.
def example_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
Внутри функции
kwargs
становится словарем, где ключи — это имена аргументов, а значения — соответствующие им данные. Это часто используется для гибкости и расширяемости функций.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
ch := make(chan int) // Создание канала для передачи целых чисел
Каналы могут быть буферизированными или небуферизированными. Небуферизированные каналы блокируют отправку и получение до тех пор, пока другая сторона не будет готова. Буферизированные каналы позволяют отправлять данные без блокировки, пока буфер не заполнится.
ch <- 42 // Отправка значения в канал
value := <-ch // Получение значения из канала
Каналы часто используются для организации взаимодействия между горутинами и управления их жизненным циклом.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
HashSet
и TreeSet
— это реализации интерфейса Set
, но они отличаются по внутренней организации и характеристикам.HashSet
хранит элементы в хэш-таблице, что обеспечивает вставку, удаление и поиск за время O(1) в среднем случае. Элементы не упорядочены.
Set<String> hashSet = new HashSet<>();
hashSet.add("apple");
hashSet.add("banana");
TreeSet
использует красно-черное дерево для хранения элементов, что гарантирует их сортировку в натуральном порядке или по компаратору. Операции вставки, удаления и поиска выполняются за O(log n).
Set<String> treeSet = new TreeSet<>();
treeSet.add("apple");
treeSet.add("banana");
Выбор между
HashSet
и TreeSet
зависит от необходимости сортировки и требуемой производительности.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
int x = 10;
int* ptr = &x; // ptr хранит адрес переменной x
Указатели могут быть использованы для доступа к значению по адресу с помощью оператора разыменования
*
. Например, *ptr
вернёт значение переменной x
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
NULL
.
CREATE TABLE Users (
id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL
);
Первичный ключ используется для однозначной идентификации записей и обеспечения целостности данных. Он также часто используется для создания связей между таблицами через внешние ключи.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
int x = 42;
object obj = x; // Boxing
int y = (int)obj; // Unboxing
Boxing требует выделения памяти в куче, что может повлиять на производительность. Unboxing требует явного приведения типов и может вызвать исключение, если типы не совпадают.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Логические опер
Операторы
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Backend собеседования
ато
ры a
nd, or
и not работают с булевыми значениями, но поддерживают short-circuit evaluation (ленивое вычисление). result = x and y # Возвращает x, если оно ложно, иначе y
result = x or y # Возвращает x, если оно истинно, иначе y
result = not x # Инвертирует булево значение
Операторы
and/or
возвращают последнее вычисленное значение, а не обязательно True/False
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Делегирует создание объектов подклассам, позволяя изменять тип создаваемых экземпляров без модификации основного кода.
Применяется, когда класс заранее не знает, объекты каких классов ему нужно создавать. Позволяет расширять систему, добавляя новые типы продуктов через подклассы.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Backend собеседования
abstract class Creator {
abstract Product factoryMethod();
}
class ConcreteCreator extends Creator {
Product factoryMethod() {
return new ConcreteProduct();
}
}
Применяется, когда класс заранее не знает, объекты каких классов ему нужно создавать. Позволяет расширять систему, добавляя новые типы продуктов через подклассы.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM