Golang
În ceea ce privește specificul startup-ului: nu întotdeauna există o definire clară a sarcinilor, uneori sunt vagi, este nevoie de inițiativă și autonomie, volumul de muncă poate fi inegal. Cum te simți în legătură cu asta?
Cum compari elementele dintr-o hartă? Cum verifici dacă două hărți sunt identice?
Vorbește-mi despre proiectarea sistemului de moderare/orchestrator — cum a fost proiectat, ce decizii s-au luat?
Care sunt practicile bune și antipattern-urile în testarea unităților? Cum să înțelegi dacă testele sunt bune?
Sarcină de scalare: serviciul B experimentează o încărcare în creștere de la serviciul A. Ce se poate face?
Povestește despre o sarcină interesantă din experiența ta anterioară. Ce ai făcut în companie?
Se dă o șir de caractere. Găsiți numărul de perechi de indici i și j (i <= j), între care, inclusiv, nu există caractere repetate. Pentru șirul "aba" răspunsul este 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Pentru șirul "abcb" răspunsul este ?: aba 3 + 2 = 5 abcb 4 (a, b, c, d) + 1 (ab) + 1 (bc) + 1 (cb) + 1 (abc) = 8
De ce crearea multor fire de execuție ale sistemului de operare reprezintă o problemă? De ce este nevoie de un planificator în runtime-ul Go în spațiul utilizatorului?
Poți folosi o coloană în SELECT dacă nu o grupăm în GROUP BY?
Dacă utilizatorii sunt nemulțumiți de schimbarea modelului de monetizare, dar afacerea are un plan clar — ce să facă?
// Se dau două secvențe sortate în ordine non-descrescătoare de numere întregi. // Este necesar să returnați toate elementele din prima secvență care nu sunt în a doua. // 0 <= N <= 10^6 // -10^9 <= a[i] <= 10^9 // [1] // [2, 3, 4, 5, 6] // [1] // [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ...] // [1] // [2, 3, 4, 5, 6, 7, 8] func filter(first []int, second []int) []int { res := make([]int, 0, len(first)) i, j := 0, 0 for i < len(first) && j < len(second) { if first[i] < second[j] { result = append(result, first[i]) i++ } else if first[i] > second[j] { j++ } else { i++ j++ } } for i < len(first) { result = append(result, first[i]) i++ } return result }
Ce stări are o gorutină?
Ce blocări creează PostgreSQL la ștergerea unor rânduri specifice?
Este posibil să compari două segmente ale unui array sau listă între ele?
De ce ai trecut de la [companie] la [companie]?
Vorbește despre lucrul cu slices în Go: cum funcționează capacity și length, ce se întâmplă când depășești limitele?
Cum ajung sarcinile în lucru? Povestește-mi despre acest proces.
Vorbește despre proiectul anterior (Cloud.ru): ce fel de proiect era, cu ce te ocupai?
Care este diferența dintre DROP și TRUNCATE?
Clarificarea zonei de responsabilitate: mașina de stări, Transactional Outbox, blocări optimiste