9月1日 快手面经 c++后台开发

一面  40分钟
写一个宏函数,求一个数组的大小
指针和引用的区别
内联函数知道吗,什么情况下用好,什么情况下用不好
堆内存和栈内存有什么区别
说说c 内存模型
说说什么是多态,虚函数怎么实现的
vector和list有什么区别

有10亿个数,判断一个数是否存在

有20亿个字符串,找出重复次数最多的

手写代码:
实现memmove函数
判断一棵树是不是二叉搜索树

一面问了挺多c 基础,大概就只记得这么多了,一面面完后面试官让我等下,说是去通知下一位面试官,大概5分钟后,二面面试官上线,面试官是在自己家里面我的😂

二面  40分钟
我是做cv的,简历里面写了个专利,面试官以前也做过cv,就和我聊了聊专利里用到的相关算法,自己做了哪些改进
接着就问我了解哪些设计模式,我说 单例、工厂、模板、观察者、策略
接着,面试官让我写个工厂模式,我就写了个最最简单的工厂模式😂,面试官说我理解错他的意思了,给我解释了一遍,我写了出来(我这时候写的工厂模式就是在工厂类里面通过if else判断然后构造不同的派生类对象,通过基类指针返回)
接着又说,你有没有从这个工厂模式的代码里闻到一些bad smell,然后给我说了有什么问题,让我继续改进
我想了半天不知道怎么改进,然后提示我可以使用key-value的形式,我这时候才明白,把自己的思路说了一下,然后让我继续写(期间value我觉得可以存函数指针或者仿函数,但是面试官给我说可以用functional,这个我没用过,不知道怎么用,面试官还给我说怎么用😂)
接着给我出了道题,判断两个链表是否交叉,我先用暴力法,说了下思路,代码写了出来,给我说这个复杂度是o(mn),让我优化下,我说用hash,复杂度o(m n)然后把代码写出来
二面大概就这些,还有一些其他小问题记不清了
问了下流程,说今年一共三面,技术面两面


快手是到现在为止我所有面试中,面试体验最好的

许愿一个快手offer

#快手##面经##C++工程师##校招#
全部评论
求两链表有无交叉我觉得比较好的方法是先让一个头接尾构成环,然后另一个再从头开始快慢指针找相遇节点,相遇后其中一个跳到头从头再走,另一个也同时走,相遇的位置就是交叉位置,如果没有交叉,快慢指针那里就会跳出了。
1 回复 分享
发布于 2019-09-02 17:42
他说是一共三面,还是技术面有三面啊。。。😂 面完两面之后,hr说几天内就会有后续通知。。不过感觉自己二面凉了。
点赞 回复 分享
发布于 2019-09-02 00:50
10亿数咋判断一个数是否存在呢
点赞 回复 分享
发布于 2019-09-02 09:37
我也是cpp后台开发,怎么我面了三轮技术呀
点赞 回复 分享
发布于 2019-09-02 10:59
现在有hr面么
点赞 回复 分享
发布于 2019-09-02 16:15
有20亿个字符串,找出重复次数最多的 这个怎么回答啊,字典树吗
点赞 回复 分享
发布于 2019-09-02 16:40
我是java开发。。9.1连面两面技术面 然后昨天和我预约了技术面三面。。。。
点赞 回复 分享
发布于 2019-09-03 07:55
宏函数是怎么实现的?直接返回size?
点赞 回复 分享
发布于 2019-09-04 12:33

相关推荐

秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++ & Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
89
分享
牛客网
牛客企业服务