
写在前面
笔者面试的部门是做广告推荐这方面
个人情况
科班出身,普通本,中科院某所硕,秋招投递的岗位主要是后端方向或者C++研发工程师。
一面 30min
- 自我介绍
- 手写String,实现String类的基本方法即可
- 知道String如何优化嘛?String在内存方面如何优化?
- 网络连接和断开的过程?TCP三次握手四次挥手
- 四次挥手会产生TIME_WAIT状态?哪一方会产生TIME_WAIT状态?
- 反问:面试官主要介绍了下部门做哪方面的工作:基础架构、无锁的容器、在各个业务的服务中做性能的优化。
- 反问:问了下对应届生而言主要考察哪方面的知识?(该问题慎问,记得问过美团的面试官,对方表示不能回答)对象、声明周期的管理、多线程、锁的生命周期、消息队列、缓存、数据库、图的数据库
二面 15min
- 介绍项目,针对项目问了一些问题
- 问能不能来实习,毕业时间
大部分时间都是对方在介绍自己的部门是在做什么,可以说几乎没问什么问题
总结
一面问了些基础知识,问的不是很难但也会针对细节进行提问,多刷刷面经问题不大。二面主要是在聊项目,当时感觉二面和面试官聊的挺好的,不知什么原因,面完没多久官网状态就凉了,很让人费解。
据了解,贵司一般是两面技术面+hr面,或者是三面技术面(最后一面倾向于hr面,但是是技术面试官在面)
京东后端开发工程师面经总结
数据库:
- 什么是聚簇索引?什么是非聚簇索引?二者的区别?
- mysql常用存储引擎
- 存储引擎InnoDB,MyISAM的区别?
- B+树的理解?
- 写sql语句:给一个表,要求按照表中的某一列降序排序(这里多说一句,刷算法题的时候可以顺便刷一下Sql语句,毕竟面试的时候是完全有可能问道的,之前面腾讯的时候就让写过,经验之谈写不出来大概率会挂)
- 什么是事务?事务的隔离级别?分别解决什么问题
- 如何解决幻读?具体原理?
- 索引的使用场景?什么时候适合用索引?什么时候不适合用索引?
- 什么是联合索引?
操作系统:
- 多线程的理解
- epoll有几种模式?他们之间有什么区别
- ET模式下为什么要循环的读取数据或者发送数据?
- 进程通信有几种方式?
- 进程和线程的区别?
- 进程的调度方法?
数据结构:
计算机网络:
- http状态码?500表示什么?4开头的表示什么?3开头的表示什么?
- http和https的区别
- https的加密流程
- TCP四次挥手,为什么要四次挥手?
- 一些协议分别位于tcp/ip五层模型的哪一层?
C++:
写在最后
文章的后半部分是笔者搜集了网上贵司的面经简单整理了下,计算机基础知识每一学科都有涉及,虽然某些学科列举的问题较少,但并不代表不重要。后续笔者会将计算机基础里面每一学科在面试中常问的问题进行总结,敬请关注。