Golang
Pastāsti par savu pēdējo projektu: kāds bija biznesa mērķis un kam tas bija nepieciešams?
Cik daļas jābūt Kafka tēmai?
Vai kļūdu apstrādi var standartizēt?
/* Mums jānodod dati no avota uz patērētāju. Avots sniedz datus mazās partijās (~desmit ieraksti), kamēr patērētājs efektīvāk strādā ar lielākām partijām (~tūkstotis ierakstu). Reāls piemērs ir datu pārnešana no Kafka tipa rindām uz Clickhouse datu bāzi. Avots: - Praktiski bezgalīgs. - Avots nekad neatgriež vairāk par MaxItems ierakstiem vienā Next izsaukumā. - Vienas "sesijas" (viena Pipe funkcijas izsaukuma) laikā avots katru reizi atgriež jaunus datus. - Tomēr, pēc restartēšanas, avots sāk no iepriekšējās "apstiprinātās" pozīcijas, kas noteikta ar cookie. Tādēļ, *katra* cookie vērtība, ko Next atgriež, pēc datu saglabāšanas saņēmējā, ir jāapstiprina ar Commit izsaukumu, tādā pašā secībā, kādā tie tika atgriezti no Next. Saņēmējs: - Nevar apstrādāt vairāk par MaxItems vienlaikus. Nepieciešams īstenot funkciju func Pipe(p Producer, c Consumer) error, kura lasa datus no avota, tos grupē buferī ar izmēru ne lielāku par MaxItems un saglabā saņēmējā, pēc tam apstiprina progresu avotā. */ const MaxItems = 9999 type Producer interface { // Next atgriež: // - partiju elementu, kurus apstrādāt // - cookie, ko apstiprināt, kad apstrāde ir pabeigta // - kļūdu Next() (items []any, cookie int, err error) // Commit tiek izmantots, lai marķētu datu partiju kā apstrādātu Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }
Kādas piegādes garantijas piedāvā Kafka? Ko jāizdara ražotājam, lai nodrošinātu exactly-once?
Vai Docker konteineris var tikt palaists bez attēla?
Kā jūs argumentējat savu viedokli, ja kolēģis nepiekrīt jums?
Vai Redis var glabāt tikai order_id -> current_status un pilnu pasūtījuma kartiņu lasīt no replikas? Kā atšķirt šos divus lasīšanas veidus?
Ierosiniet indeksu tabulai users ar laukiem gender un age, ja nepieciešams izvēlēties lietotājus pēc dzimuma vai vecuma
Pastāsti par gadījumu, kad tu kaut ko ieteici un tev bija jāaizstāv sava viedokļa.
Ja rinda ir palindroms pēc algoritma, vai tā atgriezīs true vai nē?
Kā darbojas konteinerizācija, pastāsti vairāk par namespace'iem?
Ko darīt, ja endpoint palēninās? Aprakstiet diagnostikas soļus.
Ko darāt pēc tam, kad kaut ko salabojat?
Kādus prasības jūs pirmajā kārtā noteiktu personisko datu apstrādes sistēmai?
Kādas uzdevumus būtu interesanti risināt?
Es dzēsu lielu failu, bet diska vieta nav atbrīvota. Kāpēc? Kā to atrast un labot?
Kas ir konteksts Go? Kā tas tiek izmantots? Kā darbojas atcelšana caur kontekstu?
Kas ir protobuf? Kas notiks, pievienojot/noņemot lauku?
Vai, pievienojot vairāk consumer'u, ja ir liels Kafka lag, tas palīdzēs? Kādās gadījumos tas palīdzēs, bet kad nē? Kas notiks, ja ir 16 partīcijas un 2 consumeri?