当前位置: 首页 > 面试经验 >

深信服C++提前批一二面凉经

优质
小牛编辑
71浏览
2024-07-01

深信服C++提前批一二面凉经

一面线上(2024/6/22 18:40)

1. 自我介绍

2. 项目碰到的难题

3. 两个场景题

实现类似wps上的单词拼写:

:我不是很清楚单词组合的通用规矩,怎么判断合法?不过英文单词不多,可以考虑存哈希表

—— 英文单词有很多,几百万个呢

:有这么多吗?(不过要存也就数十兆吧,然而明显不是面试官想听的,得再说点)

那先解决一些简单的问题,可以先处理下特殊字符,比如除了大小字母外的其他字符,另外,混在单词中间的大写 字母,这两种情况都可以O(1)复杂度解决掉,然后...至于最主要的单词是否合法的判断,我暂时还没想到

—— 我们有合法的单词表

:哦哦,那还是查表,可以由远端来查?

—— 由服务器来做?

:是的,因为查表本身只需要O(1), 主考虑传输成本。

实现文档的云端同步,文档很大,你怎么做

:分块处理,建立分块索引,

—— 云端怎么知道是追加、删除、修改?

:可以在本地判断,添加标志位,跟云端同步时提供块号、标志位设置0,1,2,分别表示追加、删除、修改,追加长度 用一个正数记录,删除长度用负数,对于修改,追加一个修改内容,然后云端对相应的块做相应操作。

—— 这也是一种方案,怎么定位到块内具体位置

:可以在本地建立一个一维索引,提供修改位置的一维索引,然后对块长做余运算等。

4. showmebug平台,给一段http的get请求,解析键值对。用stringstream和getline()

5. 学习方法

6. 规划

全程30分钟出头,场景题大概占了一半时间。

二面线下广州大学城酒店(2024/6/26)

1. 自我介绍

2. 讲讲第一段实习,

为什么要做这个项目?—— 设计模型和数值仿真?当时实习的时候文档上倒是没有介绍。

那你认为意义是什么?——重复了一遍。

( 问问答答十五分钟吧。)

代码是你写的吗?——是我写的啊。

那写一下代码,用你熟悉的语言 —— (写什么都行,我说写力扣LRU吧)在纸上写LRU,不习惯,写了将近十五分钟?

力扣刷了多少题(笑) —— 额,刷过两百多道,但实际上精刷的也就一百题左右,我会比较注重掌握每道题不同解法 的复杂度分析和特点 。

点点头,没有考察算法了。。

3. 场景题一:

知道ssd吗? —— 知道的,就是一种高速硬盘。

对,你知道硬盘是有寿命的,如果我这里有一块硬盘坏了,你会怎么做,或者说你怎么分析?—— 嗯,我会首先考虑 硬盘的交换空间,比如查看内存与硬盘是否一直存在频繁的交换,这种情况下可以考虑升级内存。

(否定)我们服务器一般不会出现内存不足的问题,你不用想的这么复杂(大概这个意思),你不是很理解我的问题,就比如说客户跟你说硬盘坏了,你怎么解决? —— 额。。根据我的了解,还是看进程的交换空间,看是否存在频繁交换吧?

看进程你一天都看不完(否定)

(扯了十几分钟,最后他说,先看日志,比如客户可能存了很多A篇?还是哪个软件写溢出。。。看进程一天都看不完)

场景题二:

网页页面上有很多板块,某些板块显示不全或者不显示,你觉得是什么问题?—— 首先考虑服务端这边,是否存在资 源传输的问题,比如大文件传输,就有可能是因为多次调用writev函数但iov指针没有偏移,一直重复传输大文 件的第一部分,导致浏览器收不到后续资源; 其次是浏览器渲染问题(巴啦啦)。

4. 反问环节:对于我如何改进,给一些建议? —— 思维太发散了,听着听着不知道讲到哪里去了(指实习和硬盘问题),我不知道是不是程序员都这样,当然这有好有坏,如果是工作中,这样可以考虑得更周到,但是在面试中,短时间内面试官不能更好的了解你....

“回去等消息”

#深信服#
 类似资料: