Czy indeks GIN jest odpowiedni do wyszukiwania pełnotekstowego?
Golang
Jakie problemy z dostępem współbieżnym występują podczas wywoływania metod Get i Set z różnych gorutyn? Jak je rozwiązać?
Poziomy izolacji transakcji w PostgreSQL
Jak przebiegała współpraca między zespołami podczas integracji z innymi usługami?
Pokazano ci usługę i powiedziano, żebyś zrobił to samo — twoje działania
Czy masz doświadczenie w pracy z agentami AI, systemami RAG lub MCP?
Co sądzisz o nadgodzinach?
Pamiętasz, od której wersji dostępny jest zakres według kanału?
Czy do tego rozwiązania będzie potrzebny konstruktor?
Co przyciągnęło Cię do tej oferty i dlaczego odchodzisz z poprzedniego miejsca pracy?
Jak się czujesz w odniesieniu do zadań z niejasnymi wymaganiami i wolnością twórczą?
Jak projektowałeś architekturę wspólnie z liderem zespołu? Czy były rozmowy telefoniczne lub dyskusje?
Czy gorutyna może pisać bezpośrednio do innej gorutyny na kanale buforowanym?
Czy masz do mnie pytania?
Dlaczego zdecydowałeś się wejść na rynek i rozważyć nową pracę?
// Klient przekazuje obiekt (Task) z danymi do wykonania zadania, // w naszym przykładzie użyjemy pustej struktury. // // Menedżer może obsługiwać nie więcej niż N zadań jednocześnie, // i nie więcej niż X zadań może być w kolejce. // Jeśli nie ma miejsca w kolejce, od razu zwracamy klientowi błąd. // // Zadanie jest pobierane do przetwarzania, jeśli dostępni są wolni obsługujący. // Symulujemy czas trwania przetwarzania za pomocą time.Sleep(5*time.Second). // Gdy jedno zadanie się zakończy, pobieramy następne z kolejki. // Jeśli kolejka jest pusta, oczekujemy na nowe zadania od klientów. // // Z gwiazdką: rozbudować strukturę Task i uzyskać statusy zadań przez osobne zapytanie. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // implementacja w oczekiwaniu } type Task interface { Do() }
Czy zdecydowałeś się napisać WaitGroup, ponieważ pojawił się kanał, czy dlatego, że zdecydowałeś się napisać goroutines do czegoś?
Czy możesz opisać, czego używasz do odczytu kanału w goroutine pracowników?
Co mówi konwencja Go na temat używania WaitGroup i typów zwracanych (przyjmując interfejsy, zwracając konkretne typy)?
Dlaczego potrzebna jest normalizacja?