京东广告搜索部 C++后台开发面经
各位老铁大家好,今天去京东世纪北辰世纪中心进行面试,本着牛客网好人一生平安的原则,特此奉上面经。
早上八点半说要面试,由于住的比较远,今天大清早的六点半起来就火急火燎的去了,七点坐的地铁出发,八点就到了,不得不说,大清早的北京国家会议中心还是很赞的,清风徐来,秋意正浓,然而如此美景对于我的面试并没有什么卵用。
去了我发现我是第一个到的,后面陆陆续续来了一拨人,我们直接被弄到休息室,大概又等了半个小时到了九点,开始意料之外的笔试。
笔试第一题:K路链表的归并(普通归并法、归并排序的归并法、堆归并)
笔试第二题:有着大长腿的你可以跳台阶,每次可以跳1级或者两级,问第N级台阶有多少种跳法。(递归、动态规划)
笔试第三题:有K个ip地址字符串的集合,每一个集合里面有若干个IP地址,这些IP地址是有序排列的,同时这K个ip地址也是有序排列的,先在给出一个iP地址,返回true或者false表示这个ip地址是否在这个集合中。(二分查找后再二分查找),我当时没仔细看题,以为是一个ip集合里面找ip,直接一个二分查找就怼上去了,这件事告诉我们吸烟有害健康。
说实话,笔试题中等,一眼看出去就有了思路,另外一个重要的就是有了思路,能不能做到我们想到哪里,代码就打到那里,手写的代码一定能正确表达你的思路,另外一定要考虑边界条件什么的。三个题目给了1个小时的时间,由于我比较蠢,写了四十分钟的代码,主要是考虑到代码写的整洁干净吧,最后就把答案交了。
第一面老师主要考差了笔试题中的想法和思路:
1.自我介绍一下(我来自哪儿,我干了啥,中心思想是我有多叼或者干了什么大事,优点是什么)
2.你来说说你这个ip地址查找的问题,题目中是一个ip集合的集合,你是不是没看清楚题呀,你再看看(我仔细看了题目,刚吹完逼就直接来揭穿我了我,不过我确实把题目看错了,这就尴尬了,随后我就说了下我的思路,先看ip地址在那个集合里面,然后再到特定集合里面寻找ip,及时挽回了颜面,不过要告诫大家,这种笔试题反正一个小时时间,慢慢写,写的工工整整干干净净,面试官应该比较喜欢,读起来也不费劲。
3.查找ip地址里面我们这个字符串的比较,这个ip字符串比较很长的话,而且这样比较会非常耗时,有没有办法把字符串比较优化一下?(我的回答是ip地址32位,可以考虑直接把这个转为int进行比较)
4.问了下linux中core的问题
5.问了下跳台阶的复杂度问题,当时我的空间复杂度为O(N),面试官问我能不能优化一些,我想了会儿,想到了那个O(1)的动态规划。
6.问我K路归并还可以如何优化?(二路归并如果还要优化,就把堆排序方法祭出来)(这里我觉得如果你觉得你算法水平不够好的话,你可以先给面试官一个复杂度比较差的算法,但是我们知道更好的方法,但是不写出来,坐等面试官问你还有木有更好的呀?
这时候假装苦思冥想,憋了一分钟,聪明的我们终于想起了我们早就准备好的优化算法,这时候给面试官看,面试官可能觉得你水平超出了他的期望,会有比较好的印象吧。当然,如果你觉得自己水平很高,可以秒杀面试官的问题的话,直接拿出最好的方案甩给他,让面试官的问题来的更犀利些吧)
7.linux中常用命令及用法(建议大家学一下常用的命令)
8.你那个项目你觉得最有收获?(这种比较开放性的题目,如果你的项目确实牛逼的不行,技术攻关你做得很溜,我只想说,请开始你的表演~,
不过我项目没什么干货,感觉就是现成的技术拿来用,没什么技术难点,这时候可以考虑说下你独立解决了某个问题、或者遇到了陌生的领域,如何学习并应用于开发中或者一些能证明你能力的事迹吧,一个项目里面从不同角度出发,总能找出几个点来说,如果咱们自己觉得项目一般,也不能说的很平淡无奇,毕竟介绍项目,就是给自己加分,为了过关,稍微吹吹逼、灌灌水,当然是极好的,当然物极必反 o(╯□╰)o)
9.linux中epoll和select的机制和应用场景
中午吃了饭就在休息室午休,迷迷糊糊的时候有人叫我去第二面,
1、自我介绍
2、c++虚函数和继承的机制
3、c++类和类对象在内存中的结构
3、c++的模板,模板特化、偏特化
4、c++中vector的底层结构、迭代器失效问题,map的底层结构,map的查找删除过程
5、linux中加锁的方法、线程安全问题等
6、linux中socket通信需要用到的函数
7、TCP/IP握手挥手的过程(手写过程和状态转换的一些问题),http协议,路由选择协议有哪些?
8、两个文件,各存放100亿个url,每个url各占64字节,内存限制是4G,找出a、b文件共同的url+解决思路
9、树里面两个节点最近的一个公共祖先+解决思路+写代码
二面结束之后面试官让我去休息室等待三面,大概等了半个小时,有人叫我去三面:
1、自我介绍(Balabla。。。)
2、说点最能证明你能力的事情。
3、你能实习吗,能实习多久?(这里我回答不好,因为我中科院的,不确定导师能不能放人,所以说我跟我老板好好商量下,我老板应该可以,他人很好哒,面试官笑了,我也感觉很尴尬)
4、你谈谈你的职业规划吧。。。(这个问题经常被问,我觉得这个问题应该是间接问你会不会跳槽,一定要亮出自己潜水多年死忠粉的身份)
5、说下你对京东的看法。
6、你还有什么问题么?没问题的话面试就到这里了。
京东的面试官都还不错,态度比较好,我说不太清楚的时候都能很耐心的给我讲解,给我印象都特别好,技术大佬们都很愿意帮助后辈吧,最后希望我的面经能帮助大家查漏补缺。
作者:梅老板的粉
本文来源于牛客网
——————————
牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员求职实习信息
- 程序员学习交流社区