Sobes.tech

სადაც მარტივი საბანკო სისტემა: - `accounts` ცხრილი: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` ცხრილი: - `id`, - `account_id`, - `amount`, - `created_at`. **მოთხოვნები:** 1. დაწერეთ SQL სქემის შექმნისთვის საჭირო შეზღუდვებით (NOT NULL, FK, CHECK `amount`-ზე, რომელიც არ არის ნული). 2. დაწერეთ შეკითხვა: - მიიღეთ მიმდინარე ბალანსი ანგარიშზე `account_id`-ის მიხედვით (სულ `amount`). 3. დამატებითი სირთულე: მხარდაჭერა დებიტ/კრედიტის (ორმაგი ჩანაწერი). სისუფთავე

Middle+
213

როგორ მუშაობს garbage collector-ი Go-ში? აღწერეთ ფაზები და ალგორითმი.

Middle+
182

საერთო შთაბეჭდილება ინტერვიუდან, კანდიდატის დონე, რეკომენდაციები

Middle+
172

Go-ში რა სინქრონიზაციის primitive-ები არსებობს? რა განსხვავებაა Mutex და RWMutex-ს შორის? როდის გამოიყენოთ atomics?

Middle+
168

როგორ არის მოწყობილი Go-ში რუკა? ისაუბრე შიდა სტრუქტურაზე, buckets-ებზე, კოლიზიებზე.

Middle+
161

Goroutine-ების უპირატესობები OS-თარების მიმართ რა არის?

Middle+
156

როგორ შეიძლება ოპტიმიზაცია ჩატარდეს მონაცემთა ბაზაში ძიებაში? რა არის ინდექსები და რა არის მათი სირთულე?

Middle+
154

გაამბეთ Go (scheduler)-ის გეგმარებაზე. როგორ მუშაობს? რა არის hand-off?

Middle+
148

3. სირთულე: დებიტ/კრედიტის მხარდაჭერა (ორმაგი ჩანაწერი). სისუფთავე CREATE TABLE ანგარიშები ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE ტრანზაქციები ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES ანგარიშები(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_ტრანზაქციები_account_id ON ტრანზაქციები(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM ტრანზაქციები WHERE account_id = :account_id; ALTER TABLE ტრანზაქციები ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE ტრანზაქციები DROP CONSTRAINT ტრანზაქციები_amount_check, ADD CONSTRAINT ტრანზაქციები_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM ტრანზაქციები WHERE account_id = :account_id;

Middle+
123

სადაც მარტივი საბანკო სისტემა: - `accounts` ცხრილი: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` ცხრილი: - `id`, - `account_id`, - `amount`, - `created_at`. **მოთხოვნები:** 1. დაწერეთ SQL სქემის შექმნისთვის საჭირო შეზღუდვებით (NOT NULL, FK, CHECK `amount`-ზე, რომ არ იყოს ნული). 2. დაწერეთ შეკითხვა: - მიიღეთ მიმდინარე ბალანსი ანგარიშზე `account_id`-ით (სულ `amount`). 3. დამატებითი სირთულე: მხარდაჭერა დებიტ/კრედიტის (ორმაგი ჩანაწერი). სისუფთავე.

Middle+
119