随笔分类 - Go 面试
http长连接
摘要:http长连接 TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。 TCP长连接和短连接区别 长连接、
阅读全文
消息队列 MQ
摘要:mq介绍 1. 介绍一下ActiveMQ /ApolloMQ 老牌的消息队列,使用Java语言编写。 优点:老牌的消息队列,使用Java语言编写。对JMS(Java Message Service)支持最好,采用多线程并发,资源消耗比较大。如果你的主语言是Java,可以重点考虑。 缺点:由于历史悠久
阅读全文
mysql 优化
摘要:mysql调优 Mysql架构设计 1.Mysql架构图 MySQL 架构可以分为 Server层 和 Engine层两部分,架构图如下 Mysql常见的存储引擎 1.InnoDB引擎 (1)概述 InnoDB是事务型数据库的首选引擎。支持事务(ACID),支持行级锁,支持外键 (2)使用场景 如果
阅读全文
gmp模型
摘要:gmp模型 为什么引入协程? 1.线程进程模型的弊端 为了解决多线程多进程频繁切换,导致的CPU浪费 多线程随着同步竞争(锁、竞争资源冲突),导致性能下降 占用内存:进程4GB、线程4MB 2.协程的优点 协程是用户态实现的,不需要经过内核态和用户态之间的切换,更加轻量 一个goroutine:几K
阅读全文
go面试 (一)
摘要:面试 http的三次握手四次挥手 HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是
阅读全文
go语言面试
摘要:go面试 基础 = 和 := 的区别? **Go语言中,= 操作符用于赋值,而 := 操作符可以用于声明及赋值。 Go 语言支持短变量声明(针对局部变量),以 := 为标志,这里要注意的是,Go 语言中会优先选择 :=,而不是 =,但在赋值的情况下,两者的效果是相同的。 ** Go语言中, = 和
阅读全文