KOOK-Go(已挂)
今年4月的一场面试,回头来看还是自己当时没准备好,这里简单贴上相关面试问题。
----------------------------------------------------------------------------------------------------------------------------------
1、数组、切片的区别?map做参数是值传递还是引用传递?
设计模式?工厂、单例模式之外的呢?(追问:了解不了解其他的模式?)
2、goroutine通信的方式?
3、channel的底层结构?有缓冲区的channel数据满了,那么需要怎么去处理,在goroutine中写入数据不会阻塞这个协程?
4、互斥锁和读写锁区别?
5、B+树?
6、缓存一致性?
7、kafka如何实现高可用?讲讲顺序写、零拷贝?
8、怎么实现原子性和持久性的?undolog、redolog
9、TCP、UDP的区别?怎么让UDP更可靠?
10、粘包是什么?怎么解决?
11、线程协程区别?
12、判断一棵二叉树,是不是平衡二叉树?(写过,有思路,就是代码写不出来)
13、stu_score(stu_id , subject_id , score)去找到并打印排名在5到10的学生id和总分score?
14、智力题,log中有几十G的字符串,去找到重复次数最高的50个字符串?