Sobes.tech

Брокерлер туралы — Kafka мен RabbitMQ-ны қалай қолдандыңыз? Неге екеуі?

212

Екі компания немесе екі команда арасында таңдау жасағанда, нені ескеру керек және қалай таңдайсыз?

208

Жұмыста жетекшінің қажеті неден? Қандай мақсатта?

208

Хэш-таблица қалай ұйымдастырылған? Қою және оқу күрделілігі қандай? Go-да жүзеге асыру ерекшеліктері.

207

Сіз жұмыс істегіңіз келетін команда туралы түсінігіңіз бар ма? Ол қандай болуы керек?

206

Kubernetes-те қызмет объектісі дегеніміз не?

204

Ұзақ уақыт бойы істеген нәрсеңіз соңында жүзеге аспай қалған немесе кейінге қалдырылған жағдай болды ма?

201

Командада кодты қарау қанша жиі жүргізілді?

200

Slack, Teams, Mattermost сияқты мессенджер үшін бекенд архитектурасын жобалау қажет. Талаптар мен шектеулер: тек 1x1 чаттар, топтық чаттар жоқ, тек мәтіндік хабарламалар, файлдарсыз, интернет арқылы қол жетімді, жүйеде 10,000 пайдаланушыға дейін, хабарламалар тез жеткізілуі керек, бірнеше секунд ішінде, хабарламалардың тәртібі сақталуы керек, қайталанбайды, чат тарихын қарау мүмкіндігі болуы керек, яғни хабарламалар сақталуы керек, клиенттер – мобильді құрылғылар, олардың жобалануы қажет емес, авторизация қажет емес.

198

Клиент офлайн болған кезде алынған хабарламалар туралы қалай біледі?

197

Дұрыс кодты орындау үшін: кіріс нүктесі main пакетіндегі main функциясы пакет main импорт ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Қате: күтілген %q, алынған %q\n", exp, act) ok = false } } if ok { fmt.Println("Барлық тесттер сәтті өтті") } }

194

Қазір не көбірек ұнайды — өнімдік немесе платформалық әзірлеу?

192

Go тілінде процестер, ағындар және горутиндер арасындағы айырмашылық неде?

191

SELECT * c.id, -- барлық пайдаланушылар үшін барлық чаттарды таңдау (c.id, c.name) аты бойынша ($1) where text > 'abc'

190

HTTPS деген не? HTTP-дан айырмашылығы неде? Ол 'адам ортасында' шабуылдардан қалай қорғайды?

190

Шардтау деген не және ол не үшін пайдаланылады? Такси қызметі кестелері үшін шардтау кілтін қалай таңдау керек (жүргізушілер, клиенттер, тапсырыстар)?

189

Шарт 3 мәні бар - пайдаланушы, чат, хабарлама • Пайдаланушының аты және тіркелу күні бар • Чаттың атауы және құру күні бар • Хабарламада мәтін, автор және құру күні бар • Пайдаланушы бірнеше чатқа бір уақытта қосыла алады • Хабарлама міндетті түрде чатқа тиесілі, бір уақытта бірнеше чатқа тиесілі бола алмайды • Область пәнін кестелер түрінде сипаттау керек -- тарату -- message_count чаттарда шектеулі 100 --getShard(уақыт белдеуі) -> shard_id -> 1 --getShard(уақыт белдеуі) -> shard_id -> 2 --shard1 [1..100] --shard2 [101..200] CREATE TABLE users ( id int PRIMARY KEY, name varchar(255) NOT NULL, reg_at TIMESTAMP NOT NULL DEFAULT NOW() ); CREATE TABLE chats ( id int PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT NOW(), message_count int NOT NULL CHECK <= 100 ); CREATE TABLE user_chats ( user_id int not null REFERENCES users(id), chat_id int NOT NULL REFERENCES chats(id), PRIMARY KEY (user_id, chat_id) ); CREATE TABLE messages ( id int PRIMARY KEY, chat_id int NOT NULL REFERENCES chats(id), author_id int NOT NULL REFERENCES users(id), created_at TIMESTAMP NOT NULL DEFAULT NOW(), text TEXT NOT NULL );

189

Жалпы жоба туралы айтып беріңіз — ол соңғы пайдаланушы үшін не болды?

189

10-нан астам кітаптары бар авторларды тізімдеу үшін SQL сұрауын жазыңыз (кестелер: авторлар, кітаптар, көптен-көп қатынас).

187

Linux-те процесс қалай өлтіруге болады? 'kill pid' көмектеспесе не істеу керек?

185
/4