【求职】京东 c++方向面经 第一篇

一面 2019/11/21 来自于牛客网

1、自我介绍 2、Redis MySQL 项目 3、读写队列高并发优化 4、进程线程 5、C++ 虚函数 6、CMU 15-445 LAB 7、算法 1:链表相邻节点值交换 8、k8s 9、Go 项目 10、反问环节

二面 2019/11/21 来自于牛客网

1、一面面试体验如何 2、面试官介绍组里方向 3、std::move、右值引用、lambda 4、英语怎么样 5、项目 6、开源社区、开源项目讨论
第二篇

一面 2019/4/4 来自于牛客网

1、进程和线程区别,进程优势 2、进程通信方法,什么时候用有名管道,共享内存如何实现 3、环形打印矩阵 4、地址分配,内存地址如何访问内存条上面的物理地址 5、四次挥手,为什么四次吗,第二次和第三次之间叫什么名字,四次结束后 2MSL 叫什么名 字,为甚要等 2MSL 6、数据库事务,如何防止多个事务同时操作同一个数据,具体 7、LFU 实现 8、分苹果问题,如何从任意几个箱子拿出苹果能够凑齐一个整数

二面 2019/4/4 来自于牛客网

1、strcpy 实现代码 2、awk 知道吗 3、linux 哪个命令知道多少客户端连接服务器的
第三篇

一面 2018/9/25 来自于牛客网

1、自我介绍 2、写一个方法,打印参数字符串中“成对”括号的对数和下标,如a((b(c(d)e(f)gh))i 有 4 对,下标分别是 6_8,10_12,4_15,2_16 3、用 SQL 语句把 A 表的b 字段改到B 表,并把数据转储过去,B 表有一个A_id 的字段 4、写一个方法实现分组游戏:一批人随机分成几组,根据属相构成不同集合,现对他们分 组进行合并,要求合并后分组间属相集合之间没有交集,如{龙,兔,鼠,牛}、{龙,鸡,狗}、 {猪、羊}、{龙}合并后变成{龙,兔,鼠,牛,鸡,狗}、{猪,羊} 5、说一下下面 Linux 命令的作用:ps/sort/awk/join/pwd/iostat/vmstat/top/kill 6、有 8 枚完全一样的奥运金牌,其中有 1 枚比另外 7 枚略重,现有 1 个天平,最少几次能 找出这枚较重的金牌? 如果是 9 枚,最少几次?

二面 2018/9/25 来自于牛客网

1、说一下最近做的项目,根据项目提出的问题 2、数组中包含 n 个整数,如何找出距离某个整数最近的 m 个数 3、平面中包含 n 个点,如何找出距离某个点最近的 m 个点 4、参数传递时,传值和传引用有什么区别 5、虚函数是如何实现的 6、动态编译和静态编译的区别,cpp 文件变成可执行文件的过程 7、进程和线程的区别 8、进程间通信方式、线程间通信方式 9、进程同步与互斥
第四篇

一面 2018/9/14 来自于牛客网

1、首先自我介绍 2、介绍一下项目?局域网监控? 3、UDP 和 TCP 区别?陈硕网络库怎么实现?TCP 为什么需要三次握手,四次挥手? 4、TCP 状态机,timewait 和 closewait 是怎么回事?为什么是 2MSL? 5、你怎么理解非阻塞?怎么设置?errno 线程安全么?C++重载函数const 可以作为重载 依据么 6、epoll 函数理解?两种工作模式区别? 7、线程和进程的区别?线程共享哪些内存? 8、进程间通信方式?PIPE 怎么回事? 9、两种信号不能屏蔽?子进程继承父进程的什么?fork,vfork?COW? 10、孤儿进程?僵尸进程? 11、进程 sigaction 和signal 区别? 12、多线程编程,静态管理,读写锁的实现?compare_swap 函数?CAS? 13、死锁的四个必要条件? 14、TCP 的拥塞控制? 15、编程题,求两个链表的差别

二面 2018/9/14 来自于牛客网

1、首先自我介绍 2、如何设计一个hash 表?你会考虑哪些因素?哈希函数怎么选择? 3、hash 表的容量你怎么设计,负载因子怎么考虑? 4、如果有一个数据库,大量的读和和少量的写,你会怎么处理?考虑哪些因素? 5、如果要加锁是在数据库加锁好一些,还是在服务端直接加锁? 6、数据库联合索引的命中问题?如何查看是否命中 7、B+数和红黑树的区别?Redis 移植性怎么做? 8、C++怎么由代码转换成二进制数据?动态链接是怎么回事?每个过程都有些什么工作? 9、出了一道链表两两反转的问题
第五篇

一面 2018/9/12 来自于牛客网

1、三分之二的时间在问项目,当时简历上只做了 HTTP 服务器、tcp 群聊和扫雷 2、HTTP 多线程版本和 Epoll 版本的优缺点对比 3、Epoll 的底层实现、LT 和 ET 区别 4、HTTP 报文的编码问题 5、GET 和POST 区别 6、TCP 如何解决黏包问题 7、说说 TCP 三次握手、四次挥手 8、关于迷宫,如何找最短路径,如何判断已经找完所有路径 9、从玩家角度设计一个扫雷外挂 10、了解哪些 Linux 指令和工具 11、gdb 打断点底层实现原理 12、进程和线程的区别,何时用多进程、何时用多线程 13、线程互斥锁底层实现原理 14、堆排时间复杂度、空间复杂度以及稳定性分析 15、大小端、内存对齐、int 类型的大小

二面 2018/9/12 来自于牛客网

1、开局先写三个代码 1、从一个 sockfd 中读取字符,判断是否含有目标字符串,30s 后未找到返回 false 2、实现 memove 3、实现 10 进制转任意进制 2、HTTP 服务器(客户端)发送、接受数据哪些要设置成非阻塞 3、说说你对虚拟内存的理解,MMU 映射,多级页表 4、什么情况下会发生段错误 5、你的服务器出现的 bug,你是如何解决的 6、你还有什么想问我的吗 第六篇 一面 2018/9/11 来自于牛客网 1、三次握手四次挥手,和socekt api 的对应 2、map 的实现,红黑树,时间复杂度多少,红黑树的插入过程,详细描述 3、如何实现红黑树的插入有序,即插入顺序和遍历顺序相同,方法是采用最小堆来实现优 先级队列记录插入顺序 4、操作系统调度算法 5、操作系统同步的算法,互斥锁操作系统是怎么实现的,自旋锁的使用 6、场景题,如何实现分布式集群的每个url 的访问量统计

二面 2018/9/11 来自于牛客网

1、socket 如何建立处理一个连接,描述过程,从 bind listen 开始说起 2、那成千上万连接呢 3、又问如何处理 io 密集型的请求 4、如何统计一个目录下所有文件中含 abc 的行 5、topN 问题,问的很详细,给他讲明白,基本代码都能写出来了。二种方法,partition 和最小堆的解法都说了 6、TCP 和 http 那个比较熟悉? 7、tcp 报文字段都有啥,如何实现字节流控制 8、一个网站有成千上万的访问量,如何处理请求 9、负载均衡器性能达到瓶颈怎么办? 10、讲一下 STL deque 11、了解 docker 吗
第七篇

一面 2017/10/2 来自于牛客网

1、看你实习做的跟rocksdb 相关,简单介绍下rocksdb 2、介绍下 LSM tree 3、介绍下 B tree 4、看你简历上有写机器学习,你简单介绍下你会的机器学习算法 5、多进程与多线程的区别 6、数据库索引为什么要用B 树 7、数据结构设计题 8、平时喜欢看开源项目吗

二面 2017/10/2 来自于牛客网

1、你愿意在北京工作吗,父母也支持吗 2、你以后想从事什么方面的工作 3、你在学校里是怎么学习的
第八篇

一面 2017/9/22 来自于牛客网

1、define 和 typedef 的区别是什么 2、数组和链表的区别是什么,增删改时候复杂度各是多少 3、快排是稳定的排序吗?为什么? 4、TCP 三次握手和四次挥手的过程,为什么是四次挥手?如果客户端和服务端都没有发起 断开链接,这个时候链接会断开吗? 5、 一个空类 A,sizeof(A)=? 为什么? 6、 算法题:给一棵二叉树,问左视图能看到哪些节点? 7、 高并发怎么实现? 8、 如果服务器很慢,给你 5min,你会查看哪些内容?

二面 2017/9/22 来自于牛客网

1、 你考研吗?为什么? 2、 你的职业规划? 3、 项目中的问题 第九篇 一面 2017/9/21 来自于牛客网 1、进程内存模型 2、进程调度 3、线程同步 4、虚页内存 5、open 怎么直接写硬盘 6、轮询,中断,DMA 的各自特点和优缺点 7、TCP 的最大负载和最小负载有何意义 8、手写单链表反转 9、结合代码讲了下异常安全的处理情况

二面 2017/9/21 来自于牛客网

1、C++析构可不可以抛异常 2、项目问题
第十篇

一面 2017/8/26 来自于牛客网

1、自我介绍一下 2、你来说说你这个 ip 地址查找的问题 3、查找 ip 地址里面我们这个字符串的比较,这个 ip 字符串比较很长的话,而且这样比较 会非常耗时,有没有办法把字符串比较优化一下? 4、问了下 linux 中 core 的问题 5、问了下跳台阶的复杂度问题,当时我的空间复杂度为O(N),面试官问我能不能优化一些 6、问我K 路归并还可以如何优化? 7、linux 中常用命令及用法 8、你那个项目你觉得最有收获? 9、linux 中 epoll 和select 的机制和应用场景

二面 2017/8/26 来自于牛客网

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、树里面两个节点最近的一个公共祖先+解决思路+写代码

求职必备刷题官网:https://github.com/bennyrhys/interview
【更多互联网公司笔试面试真题请关注“让我遇见相似的灵魂”公众号】

你可能感兴趣的:(#,职读面经)