京东广告搜索部 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、你还有什么问题么?没问题的话面试就到这里了。

        京东的面试官都还不错,态度比较好,我说不太清楚的时候都能很耐心的给我讲解,给我印象都特别好,技术大佬们都很愿意帮助后辈吧,最后希望我的面经能帮助大家查漏补缺。

作者:梅老板的粉

本文来源于牛客网

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

去BAT,你应该要看一看的面试经验总结

首先是简单地了解下你之前的工作经历和项目经验,然后就是算法和数据结构题目,具体涉及到以下内容:

20720
来自专栏牛客网

头条测试实习岗面试

19740
来自专栏企鹅号快讯

C语言的前世今生,及其特点、利弊和入门须知三把斧

C语言的开展前史: ? 20世纪70年代初,贝尔实验室的Dennis Richie 等人在B语言基础上开发C语言,最初是作为UNIX的开发语言; 20世纪70年...

23560
来自专栏ml

编程之美----NIM游戏

: 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob。 Alic...

43490
来自专栏平凡文摘

如果电脑技术最初是中国人发明的,那现在编程是不是就是中文的?

20750
来自专栏Java成神之路

WEB前端开发成长指南

小 编注:相比起网页射击狮,操纵代码的前端攻城狮凭着双手在键盘巴拉巴拉敲出的字符,就能赋予二次元的静态页面生命,各种lovely 的~~fabulous的~~e...

12530
来自专栏编程

Python大牛告诉你一行代码能干什么?神奇

Python令人着迷的黑魔法。那么我们高效的Python语言一行代码能干什么呢?请先自行脑补! 我们先说说一行代码输出“The Zen of Python”Py...

283100
来自专栏编程一生

一条项目中常用的linux命令引发的经典算法题

13830
来自专栏程序员互动联盟

【编程指导】如何写出无法维护的代码

读到一个非常有趣的文章,原文来自国外某网站,经过作者的翻译,读来非常有趣,反话正说,诙谐之中却道出了好多程序员不好的编程习惯。以下是翻译原文。 酷壳里有很多我觉...

33240
来自专栏养码场

限时领取| 6GJavaScript高级视频,高级前端工程师必备武器!

之前场主分享了13G的JavaScript基础视频,共140集实战教学。没想到领取人数竟超过了5000+,着实让场主感受到了JavaScript教程的需求,及还...

10020

扫码关注云+社区

领取腾讯云代金券