Golang
Czy występują jakieś trudności związane z używaniem zewnętrznego magazynu? I na przykład, czy może się zdarzyć, że mamy kilka instancji tej samej aplikacji? Co może się wtedy dziać?
Zacznijmy pisać strukturę — czego będziemy potrzebować w tej strukturze?
Jakie klucze mogą mieć mapy w Go?
Czym jest graceful shutdown?
Jak wygląda dystrybucja twojej pracy — co przekazujesz kolegom po napisaniu kodu?
Jak działa planista Go? Opowiedz główne punkty.
Czym jest transakcja w bazie danych?
Preferencje dotyczące formatu pracy (zdalnie/biuro/hybrydowy)?
Pytanie ogólne: gotowość do rozmowy kwalifikacyjnej i źródła pytań
Z jakimi bazami danych pracowałeś? Jakie rodzaje baz danych znasz? Dlaczego bazy danych relacyjnych nazywane są relacyjnymi?
Czym różni się EXPLAIN od EXPLAIN ANALYZE?
Czy istnieje możliwość wyłączenia lub zarządzania zbieraczem śmieci w Go?
Wolisz pracować na własnym sprzęcie czy potrzebujesz sprzętu od pracodawcy?
Jakie są typy kanałów w Go? Opowiedz o kanałach buforowanych i niebuforowanych.
Oceń swoją wiedzę na temat technologii: Go, PostgreSQL, Docker, Kubernetes, Kafka, RabbitMQ, GORM.
Jakie metody optymalizacji zapytań do baz danych stosowałeś? Co oglądałeś w EXPLAIN ANALYZE i planie zapytania?
Do czego służy kanał w transmisji bez bufora, jeśli dane idą ze stosu do stosu? Jaką rolę pełni kanał?
Jak działa złożony indeks (A, B, C) w zapytaniach?
Jak jest zorganizowany kanał pod maską w Go?
Proste zadanie na live coding (podstawowa konkurencyjność) Warunek: Napisz funkcję fetchAll(urls []string) map[string]string, która dla każdego URL wykonuje równocześnie żądanie HTTP GET i zwraca mapę, gdzie kluczem jest URL, a wartością jest ciało odpowiedzi (łańcuch). Jeśli żądanie się nie powiedzie (błąd, nie 200), wartością będzie pusty łańcuch. Ograniczenia: - Nie można używać bibliotek zewnętrznych (tylko standardowe). - Nie można zmieniać sygnatury. - Program nie powinien się zawiesić przy panice w http.Get. Przykład wejścia: ["[link]" "[link]" "[link]"]