Go面试题总结

2024-03-20  本文已影响0人  Jaycee88
1. sync包下有哪些同步原语
2. 怎样检测goroutine泄露
3. 锁优化
4. 字符串拼接不同方式的区别

https://geektutu.com/post/hpg-string-concat.html
https://blog.csdn.net/xz_studying/article/details/106602307

5. benchmark基准测试

https://cloud.tencent.com/developer/article/2216022

6. grpc和http的区别

gRPC和HTTP都是网络协议,但是它们之间存在一些显著的区别。

1)传输协议
HTTP使用文本基础的协议,而gRPC使用的是二进制协议,这意味着gRPC数据包更小,传输效率更高。另外,gRPC使用HTTP/2协议,支持多路复用,从而可以更好地处理并发请求。

2)性能差异
gRPC在性能方面优于HTTP。由于使用了二进制格式,因此gRPC传输速度更快、更稳定。而且gRPC通过使用连接池,实现客户端与服务端的长连接机制,使得延迟较低,在高网络带宽时表现更好。

3)使用场景
HTTP主要用于Web中浏览器和服务器之间的交互,在Web应用程序中非常常见。而gRPC通常用于服务之间的通信,特别是分布式系统中,例如微服务框架等。gRPC具有高性能、低延迟、易扩展等特点,是一个理想的分布式系统通信协议。

4)序列化和反序列化
HTTP在传输过程中使用JSON或XML格式来表示数据,需要进行序列化和反序列化。而gRPC则使用了更为高效的protobuf格式,同时也支持JSON等格式。

综上所述,gRPC和HTTP在不同的场景下各有其优势,使用时应根据具体情况来进行选择。如果需要高性能的服务之间通信,则可以选择gRPC,而在Web浏览器与服务器之间传输数据时则更适合使用HTTP。

7. CGO 能用到GPM吗

https://uncledou.site/2022/go-cgo-c-to-go/

附录:
Go常见面试题
https://learnku.com/articles/62720

上一篇 下一篇

猜你喜欢

热点阅读