快手 c++ 算法工程化 一二面

三月底投了快手 4.12做了笔试 4.16早上hr打电话约了4.21早上的面试

(到星期天都没收到短信邮件,鼓起勇气给hr发了短信结果hr说他已经发了。。重发了一下orz)


一面

4.21 10:00-

(二面面试官告诉我一面面试官是项目大老大)

1. 自我介绍(balabala)

学过什么课(数据结构 计网 os 数据库还在学)

2. 计算机网络

CSMA/CD

路由器和交换机了解吗(不了解)

某一条线路上的流量限制了解吗(不了解 只知道有流量控制)(面试官简单解释了一下)

3. os

为什么要区分堆和栈(口胡....)

那其实只有堆,只有栈都能实现(emm不会反驳....)

知道分页吗?(知道)

优点?

简单数据结构就不问了(有竞赛经历)

问一个os里的算法吧

LRU知道吗(知道)

如果有多个请求同时并发访问?(回答了缓存在一起,找一个尽可能好的访问序列,比如相同的合并在一起等等)

让你实现LRU,讲一下思路?

A用一个优先队列,按照最近访问时间作为关键字,每次删掉最久未访问的数据

Q优先队列怎么实现?

A用堆

Q那怎么判断数据是不是在堆里?

A另外开一个hashmap,记录有没有出现过,出现过话记录位置

Q但是插入一个新数据会让这个堆全部乱掉,那这个位置......

A哦hashmap直接存具体的内存地址,不是存堆的下标

Q所以每次操作的复杂度都是log的

A是的,不过感觉额外开销有点大,我也不清楚底层具体的实现,应该还有改进的地方

Q听起来似乎可以.....然后安慰我说没关系就想听我自己的思路哈哈哈哈


(其实还有一个问题,不管在不在优先队列,都要插入一个新的元素(因为访问时间更新了),但是老的数据又没发删掉,所以优先队列里有很多无效数据,后来想了想,其实当优先队列太大的时候全部遍历一次,重建一个新的优先队列就好了)

(然后百度了一下,发现答案都是hashmap+链表)


图形学这种可能还没学过吗(学了!学了!刚准备热乎着的呢!)

嗯那好的(不考?不考?)

然后就问了一些实习时间啊之类的小问题

然后反问

大概二十分钟就结束啊 感觉也太快了 然后就去叫二面面试官了


二面

4.21 10.40

二面面试官估计也在面别人 也没想到我这么快(约了十点一面十一点二面)

貌似没有自我介绍 说我笔试挺好的 代码能力应该不错


1. 数学

课程学了哪些(balabala)

高数线代这种都学完了吧(学完了)

来个简单的,1/3x^2的不定积分

(我靠我竟然**的回答了x^3)

告诉我答案多少(疯狂暗示)(x^3+C!)

嗯对要有C,所以答案多少(再次暗示)(x^3+C!)

嗯好....(啊啊啊啊看错了是1/9x^3+C!)嗯对了

二次积分了解吗(二重积分吗 了解)并没有考...

矩阵这种学了吧(学了)以为要考旋转矩阵了orz看前面面经有

三维空间中,两个单位向量的点积的几何意义(不确定是什么了)反正回答了cos夹角没问题

(就这?就这?)


2. 手撕代码(c++)

写一个类的四种构造函数吧(还好看了面经)

(提示了几个指针引用上的小问题)

c++11两个构造函数写一下 move的那个(不会写 只是知道move)没事没事 能写出前面的已经不多了(要不是看了面经我也不会这么流畅哈哈哈)

继承知道吗(知道)

写个继承类吧

虚函数了解吗(了解)

析构函数会写吗(了解)

知道继承类的析构函数吗balabala这里有点忘了反正回答了基类的析构函数必须写成虚函数,然后硬着头皮写了一下,表示知道但没写过


3. 手撕代码(算法)

算法对你应该挺简单的(笑)

有向无环图知道吗(知道 dag图)

写个拓扑排序吧,随你写,写关键部分就好(就开始手撕)

写个归并排序吧(继续手撕)


然后反问。问做什么内容,展示了一下。

最后也问了实习时间之类的,还说不一定非得北京,可以和hr商量去近一点的城市(又不是我想来北京,除了北京没hc了有什么办法orz)


能记起来的就这些了

好快啊十一点半不到全部结束了 中间还等了二十分钟...........看别人都是两三个小时

祈求hr面🙏

#快手##校招##面经##C++工程师#
全部评论
楼主最后去了吗,请问实习时间怎么安排的?能有3个月吗??
点赞 回复 分享
发布于 2020-07-22 13:30
不是一次三面吗。。。我是三面一起  然后没有hr面。。
点赞 回复 分享
发布于 2020-04-24 15:24
楼主一面二面是连在一起的吗
点赞 回复 分享
发布于 2020-04-24 14:16
lz收到hr面了吗
点赞 回复 分享
发布于 2020-04-23 21:15
lru,hashmap+双向链表,时间复杂度O(1)
点赞 回复 分享
发布于 2020-04-23 13:39

相关推荐

发点面经希望能求求好运~3.26投递,3.29笔,4.15早一面,无手撕面完秒挂(八股盛宴)----自我介绍--------项目环节1.AB包怎么打包和分包的2.有没有对你的工程进行过更新,资源卸载时怎么样的3.Unload()区别,什么时候用Unload(false)4.压缩格式了解吗5.导表工具是怎么做的,有了解网上开源的导表工具吗?6.FSM怎么设计的7.对象池怎么设计的8.UI怎么和逻辑做交互的9.事件中心底层是怎么做的10.单例会有什么问题--------因为我是做3d视觉的,有个3DGS相关的横向,就问了我一些图形学八股1.说一下渲染管线2.了解MVP矩阵吗3.一个物体先旋转,再移动,或者是先移动再旋转,他们的结果。4.那我给你一个点。你怎么判断这个点是否在一个三角形内。5.Unity中,定义一个摄像机需要哪一些基本的参数。❌(忘了,只说了摄像机内外参,畸变焦距这些。Unity的参数没想起来,估计还有FOV,裁剪平面,投影类型之类的)6.解释下前向渲染和延迟渲染(G-Buffer,大意就是先深度测试减少不必要的片元渲染)7.你刚说的抗锯齿,除了MSAA,还有哪些抗锯齿?(SSAA超分,FXAA快速近似,查找边缘,TAA时间)8.你有了解一些阴影的基本原理吗(静态阴影LightMap,动态阴影ShadowMapping,大场景级联CSM)9.了解哪些后处理算法❌(伽马校正,景深,运动模糊,但这个我具体没记这些概念对应的算法)------问熟悉什么语言,我说C++C#。问我脚本语言熟悉吗,我说Lua刚学没实操过(主要确实没把握),科研用python1.多态怎么理解2.New和malloc的区别3.Free怎么知道要释放多大一个空间❌(后来看了下,malloc在分配空间的时候,会额外有一个小块空间存相关信息,给free传指针地址的时候,free就会用到)4.说下Vector的原理,和list各有什么优缺点5.Map和Unorder_map的区别6.哈希表发生冲突怎么解决7.寻路算法用过吗?8.网页上输一个地址,最后把它显示出来,整个流程是怎么样的?❌(有点久没看,忘了,说了一通https的原理)9.Tcp和udp的区别?哪些游戏你觉得用的是tcp,哪些是udp----最后无手撕,问我平常有玩什么游戏,深入了解过哪些游戏的实现?反问1.做什么业务(三国志战略版)2.整体有什么改进空间(项目做得深度不够)-----面完后秒挂,项目深度不够这个确实是我强行转行不可避免的会被抨击到问题。可能小工作室更偏向经历丰富一些的。当然也有可能是我投递时间太晚没hc了,或许只能勉强这样安慰自己了。
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

更多
牛客网
牛客企业服务