奇安信 go服务端面经(挂 面试没约上)
-
一面 9.7 23min
-
go的结构体类型可以比较吗
- 可以比较,分两种情况,一种情况为相同结构体类型的不同实例,一种情况为两种结构体类型的实例
- 对于相同结构体类型的不同实例,需要保证结构体中的字段必须是可比较的类型(Integer,Floating-point,String,Boolean,Complex(复数型),Pointer,Channel,Interface,Array)才可以使用 == 做比较,若存在不可比较的类型(Slice,Map,Function)可以使用 reflect.DeepEqual进行比较,这个函数的具体规则自行百度吧
- 对于两种结构体类型的实例,也可以比较,但是需要强制类型转换
-
-
map什么类型不能作为键?为什么这些类型不可以做键
-
(引用类型变量无法作为键,因为他们不可以做判等操作,map无法确定是否包含该键)
-
-
slice与数组的区别
-
(slice底层由数组构成,同时包含三个信息,容量,长度以及指向底层数组首部的指针)
-
-
多进程如何同步
-
(临界资源、信号量、互斥量、事件)
-
-
http掌握程度
-
webscoket如何实现长连接 - 不会
-
(基于tcp)
-
-
socket编程的掌握程度
-
最左前缀匹配原则
-
(从排序和特殊情况入手做的解答..)
-
-
写sql
-
一个名为student的表,三列信息name(姓名),course(课程名),score(课程分数),取出总成绩最高的前五个
select sum(score) as total from student group by name order by total desc limit 5;
-
-
redis掌握程度
-
反问
- 技术面有几轮 - 两轮
-
-
总结
moka约二面的时候,点了时间不合适,直接给我挂了
#奇安信##面经#