Реальные задачи с собеседований | Java
3.53K subscribers
278 photos
36 videos
474 links
Буду сюда выкладывать реальные задачи и вопросы с собеседований, без копипаста с интернета и других каналов)

Ссылка для друга - https://t.me/+K4vJFdalwlthYTQy

Прислать задачи, реклама - @privatevoidmain
Download Telegram
Тинькоф #sql

Вывести посты, у авторов которых больше 500 подписчиков
CREATE TABLE profile (
id BIGSERIAL PRIMARY KEY,
nickname VARCHAR,
registered_at TIMESTAMP
);

CREATE TABLE post (
id BIGSERIAL PRIMARY KEY,
owner_id BIGINT REFERENCES profile (id),
body TEXT,
inserted_at TIMESTAMP,
likes_count INT -- кол-во лайков
);

CREATE TABLE subscription_count (
profile_id BIGINT REFERENCES profile (id) UNIQUE,
followers_count INT, -- кол-во подписчиков
following_count INT -- кол-во подписок
);

#tbank | Подписаться
👍5
Сбер #sql

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

CREATE TABLE cash.cash_history (
id uuid NOT NULL,
user_id uuid NULL,
operation_id uuid NULL,
server_time timestamptz NULL,
sum int8 NULL,
CONSTRAINT cash_history_pk PRIMARY KEY (id),
CONSTRAINT cash_history_un UNIQUE (operation_id)
)

#sber | Подписаться
Сбер #sql

dep
id
name

emp
id
id_dep
fio

Список: название отдела и количество сотрудников в нем. Если в отделе нет сотрудников, то должно быть отображено название отдела с null или 0.


#sber | Прислать задачу | Подписаться
👍2
Aйди технологии управления #sql

Даны 2 таблицы student и class
student:
id - автоинкрементный первичный ключ,
class_id - id класса в котором числится студент
class:
id - автоинкрементный первичный ключ

Написать запрос для вывода id классов, у которых нет ни одного студент.


Прислать задачу | Подписаться
ВТБ

Написать #sql-запрос для вывода имён студентов и названий университетов, в которых они учатся, при условии, что название университета начинается на букву "C".

Даны 3 таблицы: student, univer_student и univer.

Таблица student:
id
name

Таблица univer_student:
student_id
univer_id

Таблица univer:
id
name

#vtb | Прислать задачу | Подписаться
👍6
х5 #sql

Вывести список отделов, количество сотрудников в которых не превышает 3 человек
-- Отдел:
CREATE TABLE department (
id INTEGER NOT NULL, -- идентификатор отдела
name VARCHAR(128) NOT NULL, -- название отдела
PRIMARY KEY (id)
);

-- Сотрудник:
CREATE TABLE employee (
id INTEGER NOT NULL, -- идентификатор сотрудника
department_id INTEGER NOT NULL, -- идентификатор отдела
manager_id INTEGER, -- идентификатор начальника
name VARCHAR(128) NOT NULL, -- имя сотрудника
salary DECIMAL NOT NULL, -- оклад сотрудника
PRIMARY KEY (id),
FOREIGN KEY (department_id) REFERENCES department(id),
FOREIGN KEY (manager_id) REFERENCES employee(id)
);


#x5 | Прислать задачу | Подписаться
👍41
Росбанк #sql

Вывести альбомы, у которых названия начинаются на А и в которых треков больше 10. Результат должен содержать название альбома и колчиество треков

#rosbank
👍31
Сбер #sql

Вывести список: название отдела и количество сотрудников в нем. Если в отделе нет сотрудников, то должно быть отображено название отдела с null или 0

dep
-id
-name

emp
-id
-id_dep
-fio

#sber | Подписаться
1👍2😁2
Гринатом #sql

Дана таблица employee (last_name, first_name, middle_name)
Вывести сотрудников, у которых есть однофамильцы

#greenatom | Подписаться
👍1
Точка банк (стажировка)

Вывести названия всех книг и фамилии их авторов (title, surname)
-- Создание таблицы авторов  
CREATE TABLE authors ( 
    id INT PRIMARY KEY AUTO_INCREMENT, 
    surname VARCHAR(255) NOT NULL, 
    name VARCHAR(255) NOT NULL, 
    patronymic VARCHAR(255) NOT NULL, 
    birth_date DATE, 
    country VARCHAR(100), 
    biography TEXT 
); 

-- Создание таблицы книг 
CREATE TABLE books ( 
    id INT PRIMARY KEY AUTO_INCREMENT, 
    title VARCHAR(255) NOT NULL, 
    author_id INT NOT NULL, 
    publish_date DATE, 
    isbn VARCHAR(20) UNIQUE, 
    pages INT, 
    FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE 
);

Далее доп задание - убирают NOT NULL у  author_id и FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE и спрашивают как теперь вывести все книги с авторами (даже если у книги нет автора)

#sql | Подписаться
3
Инсайрес

Задача 1
Требования:
есть 2 связанные таблицы
1) таблица User; поля Id, Name;
2) таблица UserTask; поля Id, UserId, Name
Задание:
написать SQL запрос который вернет в обратном алфавитном порядке имена всех пользователей у которых более 5 задач
Условия:
без вложенных селектов

#sql
🔥1
Сбер #sql #repeat?

-- Две таблицы
-- Company: id, title, sector
-- Vacancy: id, id_company, name, salary

-- Написать запрос, который выведет список компаний из отрасли IT,
-- со средним доходом по вакансиям, названия которых содержат слово Java, более $1000

#sber| Прислать задачу | Подписаться
1👍1
Мойсклад #sql

Написать SQL запрос, который выбрал бы папки с файлами*.avi или пустые папки.

CREATE TABLE folder (
id uuid PRIMARY KEY,
name text NOT NULL
);

CREATE TABLE file (
id uuid PRIMARY KEY,
name text NOT NULL,
folder_id uuid NOT NULL,
CONSTRAINT fk_file_folder_id FOREIGN KEY (folder_id) REFERENCES folder (id)
);

Подписаться
😁5
Сбер #sql

CREATE TABLE country (
id SERIAL
name VARCHAR(100)
continent VARCHAR(50)
population INT
);

CREATE TABLE gdp (
id
country_id INT
year INT
value INT
);


1. Получить континенты и суммарное число жителей на каждом
2. в которых жителей больше миллиарда
3. Получить наименование страны + ввп на душу населения
4. Какие ошибки возникают (нулл и 0)
5. В таблице стран 200 строк в gdp 180, сколько будет строк в запросе (нужно было пояснить за теорию множеств))))
6. Получить континент наименование страны и число жителе в стране. Выводим только самые большие по населению страны на континенте
7. Тоже самое только топ 3 страны

#sber| Прислать задачу | Подписаться
Райффайзенбанк (но это неточно) #sql

-- SQL задача: вывести список сотрудников,
-- получающих заработную плату больше чем у непосредственного руководителя

<EMPLOYEE>
ID NUMBER [PK]
DEPARTMENT_ID NUMBER [FK1]
CHIEF_ID NUMBER [FK2]
NAME VARCHAR2(198)
SALARY NUMBER

#raif | Прислать задачу | Подписаться
Unknown company (анонимно, мед. компания) #sql

=================
Appointment
=================
id
patient_id
doctor_id
date
=================

=================
Doctor
=================
id
full_name
=================

Нужно найти врачей, которые 2-10-2025 осуществили больше 10 приемов.

Вывести id доктора, его имя, количество приемов.

#unknown
Прислать задачу | Подписаться
4👍1
Сбер #sql

Вывести всех студентов которые хоть раз сдали экзамен

Students
-id pk
-name varchar
-phone varchar

exams
-id pk
-ref_students fk
-discipline varchar
-mark int not null

#sber
Прислать задачу | Подписаться
👍3