Sobes.tech

Golang

Se o serviço retornar um erro 500, como você irá lidar com o problema?

Senior
166

Você conhece o modelo MVCC?

Senior
163

Descreva o processo de compilação de um programa Go: o que acontece ao executar go build?

Middle+
163

Utiliza TDD? Como cobre o seu código com testes?

Middle+
161

Como aceder de forma segura a uma secção de memória a partir de várias goroutines? Quando usar mutexes e quando usar atómicos?

Middle+
158

Por que as fugas de goroutines são consideradas mais críticas do que as fugas de memória clássicas em termos de impacto no tempo de execução?

Senior
156

O que são strings em Go e quais são as suas características?

Senior
154

Como é que o GOGC afeta o desempenho do serviço? O que é o STW e como afeta a latência?

Senior
153

Como funciona o agendador de goroutines em Go? Fale sobre o modelo GMP.

Middle+
153

Fale-nos sobre os brokers de mensagens: que tipos existem, como funciona o Kafka?

Senior
151

O que são goroutines em Go? Como funciona o agendador do Go (modelo GMP)?

Senior
150

Por que não se podem colocar índices em todas as colunas da tabela?

Senior
149

Descreva o processo de análise e otimização de uma consulta SQL longa.

Senior
148

Fale sobre a sua experiência, tudo o que considerar necessário e relevante para esta posição.

Senior
148

O que é análise de escape? Em que casos um objeto vai para o heap?

Middle+
148

Fale sobre o pacote unsafe em Go. Quando ele ajudou no seu trabalho?

Middle+
148

Como é que as réplicas dos serviços no Kubernetes interagiam e que informações partilhavam?

Senior
143

Anti-fraude é um grande serviço ou parte de um sistema maior? Como ele interage com outros serviços?

Senior
140

#claruey #técnico 1. O que há de ótimo no Go? - goroutines e o agendador que permite trabalhar sem pensar em como lida com concorrência. 2. Quais são as desvantagens do Go? - tratamento de erros 3. Como você chegou ao Go? 4. O que garante a leveza do Go e por que as goroutines trocam mais rápido? Por que isso não poderia ser feito no SO? 5. O que sacrificamos ao usar goroutines em vez de threads do SO? 6. O que é concorrência e paralelismo? 7. O que é a interface net.Listener e quais são seus métodos? 8. Você trabalhou diretamente com redes ou através de frameworks e quais? 9. Como o TCP difere do UDP e para que eles são geralmente usados? 10. Quais são os riscos ao usar TCP e UDP? 11. O que são bigEndian e littleEndian? 12. O que é TLS? 13. Quais são as formas de transferir dados entre microserviços (por exemplo, comandos/solicitações/respostas/transferência de arquivos)? Quais padrões ou ferramentas de desenvolvimento podemos escolher aqui e quais são suas nuances? 14. Quais são os métodos de transferência de dados pela rede e seus prós/contras? 15. Com quais SGBDs você trabalhou e quais ferramentas usou? 16. Que biblioteca você usou para cada banco de dados em Go? 17. Como você lida com o crescimento do banco de dados durante o desenvolvimento? 18. Se o esquema do banco de dados mudar, como você lida com isso sem destruir dados antigos? E as migrações, seus prós e contras? 19. Como você muda o banco de dados em produção? Quem fez isso? 20. Como abstrair melhor o componente de banco de dados da lógica principal para que as consultas SQL e métodos não se espalhem pelo código? Coloque-o em um diretório separado, passe uma interface e use tags? 21. Por que os índices são necessários e quais são suas desvantagens? 22. Você foi encarregado de escrever um código que você incluiria em um projeto e como você documentaria os resultados? 23. Que documentação você normalmente usa e para que propósito + onde ela vai? Por exemplo, o que é essa interface e para que ela serve? 24. Você usa ativamente go doc e é uma prática na sua equipe? 25. Você acompanha especificações ou documentação markdown? Como você faz isso? 26. Qual foi seu fluxo de trabalho, quem atribuiu tarefas e qual foi o próximo passo? 27. Quão detalhadas são suas tarefas? Você só precisa acessá-las ou também pensar na arquitetura e perguntar a outros? 28. Temos um projeto com muitas goroutines. Quais ferramentas de sincronização você usa para que todas as goroutines terminem de forma elegante e segura? 29. Onde no projeto você usou goroutines? 30. Ao passar uma interface para uma função, quantos bytes ela ocupa? 31. O que é um httpHandler, o que ele recebe, qual estrutura tem, o que devolve, quais são seus argumentos e assinatura? Para que serve e onde é usado? 32. O que é middleware e como usá-lo? Como foi no seu projeto? 33. Quais propriedades da linguagem Go permitem construir middlewares e qual é a função que ela aceita e o que ela devolve? 34. Se você tem uma função que aceita outra função e, após executá-la, inicia uma goroutine e faz um callback, e você passa um método de uma estrutura que não aceita argumentos e não devolve nada, haverá um erro de compilação ou algo assim? Ela tem assinatura vazia, e você tem um método que exige essa função, mas, em vez de uma função simples, você passou um método, ou seja, um objeto.método. 35. Há uma função que aceita um int32 e você tenta passar um int16, o que acontecerá e em que etapa? 36. Quantos bytes uma fatia ocupa na memória em amd64? 24 bytes, e os dados em si não são passados para a função? 37. Como você pode implementar um conjunto em Golang e quais são suas diferenças e nuances? 38. O que é UUID e você o usou no seu projeto, onde e qual biblioteca usou? 39. Você tem um mapa com 1.000.000 de elementos, o que acontece se você adicionar mais um? Quais são os cenários possíveis e como a velocidade de acesso aos dados muda? 41. Você usou Docker (containers/pods)? Quais outros serviços você usou antes do Docker, como "como implantar um binário em um servidor"? Depois de compilar seu código, em que ele deve se transformar para que o serviço inicie na inicialização do SO?

Senior
140

O que acontece com o programa se ocorrer um pânico numa goroutine separada?

Senior
134
/5