面经-深信服GO一二面
一面
算法:30min
(1)合并三个升序字符串,不能创建新的链表,而是使用已有链表实现。——手撕
(2)在一个长字符串里面,找出是否出现过的某个字符或子字符串。(遍历或者hashset手撕)
场景题:
(1)给两篇文章,怎么从文章1中找出文章2重复的内容,前提是:内存资源有限。
考虑因素:内存有限、高效
深度:除了使用哈希、布隆、MySQL、分段比较这些有没有其他的方法?
引申问题:如果有五个服务器、现在需要进行负载均衡,可以怎么实现?(哈希取模,虚拟地址分配到哈希环,实现虚拟地址和服务器地址映射)
(2)如果有一个10G的文件在服务器中,我现在客户端需要从服务器下载,但是网络不是很稳定,并且能保证用户能下载完文件,传输数据用的udp协议不是tcp协议,应该需要注意些什么?
考虑因素:网络不稳定,传输方式居然是udp。。。
感觉在应用层实现一个tcp机制,保证数据传输的有序、可靠性。
常见八股:
(1)http和https之间区别?
(2)为什么现在大部分请求还是http而不是rpc?
二面
项目:
(1)比较熟悉的项目是什么?
(2)微布校园的难点有哪些?怎么解决?(缓存雪崩和击穿、缓存和数据库一致性问题、慢SQL优化)
(3)如果缓存放到一个进程中去读取会出现什么问题?
场景题
(1)如果服务器资源有限如何合理利用缓存?(我的理解是部分经常读的数据写到缓存,经常就修改的就不写入缓存、从数据库拉取)
(2)如果资源有限,有大量数据需要处理,怎么去合理利用内存?(我想的是分段处理数据,类似于MySQL的分页查询,分段处理数据)
常见八股
(1)怎么获取http请求的一些头部、body部分的?
(2)http请求的一些数据是怎么到达代码中的? (没有回答上来)
(3)http中post和get请求有什么区别?
(4)http传输数据过程中会有什么问题?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HUT菜鸟小八的博客!
评论