Senior Go/Golang Developer - pytania kwalifikacyjne Flashcards

1
Q

Czym jest składnia w języku programowania Go?

A

Składnia języka programowania GO jest określona za pomocą Extended Backus-Naur Form (EBNF):

Produkcja = production_name "=" [Expression]
Expression = Alternative {"l" Alternative}
Alternatywa = Termin {Term}
Termin = Production_name l token [token "?"] L Group l Option l Repeat
Grupa = "(" "Wyrażenie") "
Opcja = "[" Wyrażenie ""] "
Powtórzenie = "{" Expression "}"
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Czym są interfejsy Go?

A

W Go, interfejsy są sposobem na zdefiniowanie zachowania obiektu. Interfejs tworzy się za pomocą słowa “type”, po którym następuje nazwa i słowo kluczowe interface. Interfejs jest zdefiniowany jako dwie rzeczy.

Zestaw metod.
Nazywany również typem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czym jest asercja typu w Go? Co ona robi?

A

Asercja typu przyjmuje wartość interfejsu i pobiera z niego wartość określonego typu jawnego.

Konwersja typu jest używana do konwersji niepodobnych typów w Golangu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Jakie metody występują w języku programowania Go?

A

W języku programowania Go istnieje kilka różnych typów funkcji zwanych metodami. W składni deklaracji metody, “getter” jest używany do reprezentowania kontenera funkcji. Ten odbiornik może być użyty do wywołania funkcji za pomocą operatora “.”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Jak sprawdzić typ zmiennej w czasie wykonywania w języku programowania Go?

A

Język programowania Go posiada specjalny typ przełącznika do sprawdzania typu zmiennej w czasie wykonywania. Przełącznik ten nazywany jest typem switch.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Czy zaleca się używanie zmiennych globalnych w programie, który implementuje procedury go?

A

Zmienne globalne nie są zalecane, ponieważ mogą być dostępne przez wiele goroutines (wątków) w tym samym czasie, a to może łatwo prowadzić do nieoczekiwanego zachowania powodującego arbitralne wyniki.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Co wiesz o programowaniu modułowym?

A

Programowanie modułowe to sposób na podzielenie programu na podprogramy (moduły / funkcje) dla maksymalnej wydajności.

Definiowanie bardziej ogólnych funkcji ułatwia ponowne wykorzystanie funkcji, takich jak wbudowane funkcje biblioteczne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly