Golang
За какво са нужни принципите SOLID?
Разкажете конкретно с какво се занимавахте в [компания].
Ако писател (горутин, който запълва канала с стойности) реши да затвори канала, какво ще се случи? Как трябва да реагира читателят, какви проблеми могат да възникнат и как да се справят с тях?
Защо използвахте Mutex вместо Atomic за брояча?
Разкажете за проблем с ClickHouse (спад поради голям брой уникални записи) и как сте го решили.
С какви инструменти сте работили?
Каква е причината да напуснете Wildberries?
Колко често има задачи, които изискват промени в договорите?
Колко дискутабилни са за вас редките срещи с клиента?
Как се справяхте с дълги/бавни заявки в PostgreSQL?
Как точно IP решава проблема с маршрутизирането? Как разбира рутерът къде да препрати пакета?
Има проблем с безопасността на нишките: ако две горутини едновременно извикват Lock с цикъл, те могат да се смесват. Как да го поправим?
Все още работите в [компания]?
Разкажете за процеса на инициализация на операционната система Linux: процесът init (PID 1), зареждачът и initramfs.
Защо избрахте шардване по account_id? За какво изобщо е шардването?
Защо не беше възможно всичко да се изгради на ClickHouse и просто да се показват метриките чрез услуга на фронтенда?
Какво се правеше с съобщенията след ръчната обработка? Какви бяха вариантите?
Какво търсиш сега за себе си, какво е важно за теб?
Кога се стартира Garbage Collector? Има ли специални точки за спиране в определени моменти?
Разкажи ми за профилирането на услуги в Go — как изглежда процесът на отстраняване на грешки и търсене на тесни места?