首页 > 程序员大牛阿里、美团、百度、字节、腾讯、京东的面试经历
头像
爱吃萝卜炖土豆
发布于 2021-07-23 15:39
+ 关注

程序员大牛阿里、美团、百度、字节、腾讯、京东的面试经历

阿里

阿里场景金融二面 3.25 电话面试:
1、项目
2、虚拟内存是什么,内存不够、页面置换
3、索引的机制
4、事务是怎么实现的、机制
5、平常是怎么了解技术知识的、最近有看那些书,比较大的感触
6、垃圾回收机制(标记算法,回收算法,三色标记新对象和浮动垃圾)
7、G1安全收集器,用到的回收算法
8、保存点safepoint,区域
9、线程池的基本原理、阻塞队列
10、在线程池的使用过程中有哪些需要注意的点,最佳实践,初始化参数的设置,会参考哪些方面
11、保证线程安全的手段
12、synchronized在JVM层面的实现原理(批量重偏向、批量撤销)
13、常见的排序算法、哪些是稳定的,哪个空间复杂度最小
14、反问:哪些答得不太好,面试官说挺好的
面完腾讯二面,刚准备下楼洗澡,接到面试官电话,问方便现在面试吗,我立马开始跑回宿舍,有些大喘气,来不及带耳机,加上面试官的南方口音,
有些问题听不大清,不过整个面试体验还是比较好的(因为有前面腾讯二面的面试官做对比。。。)。
阿里场景金融HR面 3.30 20min 视频面试
1、自我介绍
2、有没有实习经历(没有)
3、在学校做过什么项目,详细描述一下,以及你在里面做了什么事情
4、图书管理系统,为什么会做这个系统,有没有碰到比较难的地方,有没有请教过导师,跟同学有没有讨论
5、学生选课管理系统,介绍了我负责的模块以及实现的功能,需求是自己做的吗,系统上线了吗,如果推广到学校成功的几率大吗
6、快递系统,为什么做这个项目,会有地图吗,一共多少人参与,分工角色,计划多久完成,目标是什么,为什么要加一些扩展的功能
7、有没有作为组织者参与过一些项目或者一些别的活动,你做了什么,整个过程顺利吗,碰到问题怎么解决
8、平时有什么爱好(打游戏。。。)
9、什么时候可以实习
10、身边有没有你觉得比较成功人,比如老师啊,学长啊,同学啊,你觉得他们成功有哪些因素,有哪些需要你借鉴的
11、反问:多长时间能收到意向书(大概一周)
投的这个部门是学长内推的,在三月份之前就投了,然后两三天就进行了一面,一面面试官给的评价挺高的,但是在知道阿里是四轮技术面+一轮HR之后,
我对进阿里并没有抱多大的希望,反复确认内推挂了会不会影响网申。。。等待面试的过程是非常煎熬的,中间找学长帮忙催了二面一两次,就这样二面和一面
差不多隔了一个月。。。二面是突然的电话面,二面反问环节问面试官哪里答得不太好,面试官说挺好的,这个时候我还是没有多大信心,因为后面还有两轮可能更难
的技术面,以前也在面经上看到过,阿里后面的面试可能会出现P9大佬。
二面之后一两天,从学长那里得知阿里今年校招政策有所改变,四轮技术面变成了两轮,知道这个消息后一下就紧张了起来,而且学长告知,今年他们组一共招4个实习生
3个hc都已经确定了,后面等待二面结果的过程就非常煎熬了。
大概又过了两三天接到了阿里HR的电话,约面试时间,这个时候悬着的心稍微放下了一点,因为听说阿里HR挂人也挺多的。说一下HR面试的感受吧,首先得实事求是
如果一些东西自己明明没有或者没有经历过的话,其实HR很容易看出来的,要是给人家看出来自己在编,这个时候就非常悬了。还有就是回答的时候,不单单是HR面试,
一定要理清思路,让自己的回答有逻辑性,所以建议说话不要那么快,语速平缓一些。

美团

美团一面 3.29 50min,面试官迟到了快20分钟
1、自我介绍
2、项目,提供的功能,怎么实现的
3、有没有参加过实习
4、反射,怎么把类的字段封装为对象,做什么用的,实现这个机制的意义是什么,Java语言是怎么实现的(不会)
5、依赖注入是什么,是怎么实现的,spring框架是怎么实现的,引用它是为了解决什么问题
6、面向切面编程是什么
7、描述young GC的过程,新生代各区之间的协作关系
8、哪些对象可以作为GC Root
9、Linux中占用某个端口的进程在磁盘上的位置(不会)
10、拥塞控制的过程,怎么判断出现了拥塞,为什么收到了三个ack就认为出现了拥塞,确认丢失之后会做什么,还有别的方式判断网络出现拥塞吗
11、段式管理和页式管理的区别,段式管理的缺点,这两种管理方法的寻址方式
12、MySQL事务隔离级别、幻读是什么,MySQL会出现幻读吗
13、索引的原理,索引的分类,如果查询条件中有范围查询建索引需要注意什么,索引abc,查询条件c=1 and b=1 and a=0能够用到索引吗
14、代码题:判断两个链表有没有交叉
15、场景题:如果网站的流量比较大,怎么去解决并发访问量大的问题
16、场景题:访问数据库数据库连接频繁连接和断开怎么办,怎么自己实现一个数据库连接池
17、平常遇到难题怎么解决
18、反问,有的地方掌握的还是不太熟练
19、看过哪些书,最近在学什么
面试官感觉有快40,按年龄应该是部门的主管,但是一面主管面也不大可能。问的问题一般是先从基础开始,然后往原理深入,有的会问到答不出来为止。
他问的特点偏向于对这个知识的理解,比较灵活,如果死记硬背八股文肯定是不行的。
回答的感觉还行,在反问环节之后,他还询问了一些我的个人情况,所以感觉这场面试大概率是能过的。
美团二面 4.10 55min
1、上来先聊天,问是在郑大新校区吗,是高新区那个吧,我还以为碰到学长了,觉得这把稳了,结果一问他只是家是郑州的,问我老家是哪的。。。
2、现在在学校干啥,问专业,问大四实习,怎么实习,去哪些地方实习
3、项目,是在学校完成的还是在公司做的,有参与过真实的项目吗(没有)
4、问实验室经历,参加过比赛吗,拿过什么奖
5、计算机相关的课程学过哪些
6、选一个项目介绍一下,图书管理系统(真是不好意思拿出手),登录模块有实现过单点登录吗(没有),密码校验具体怎么做,数据库中的密码也是明文存储的吗?
7、介绍下Ajax的原理(不会)
8、有深入了解过jQuery吗
9、数据库的几个范式(回答的稀碎,问的太基础了,学完数据库就没怎么看过)
10、有建过索引吗,对索引还有别的了解吗?在做系统的时候有用过索引吗
11、连数据库用的什么
12、前后端交互遇到过乱码问题吗?JSP设置的编码在哪里起作用?如果没有浏览器,两个服务器通信,怎么设置编码?
13、http和https的区别, https怎么保证安全,怎么加密,非对称加密怎么建立。http怎么升级成https。公钥、私钥在哪里?非对称加密的算法
14、高并发访问怎么保证线程安全,synchronized的原理,它修饰方法锁的是什么。synchronized和reentrantLock的优劣势。其他保证线程安全的实现
15、写个代码,手写建立数据库连接(原始的jdbc那一套早忘了)
16、手写生产者消费者模型,用阻塞队列写了一个。把阻塞队列换成数组怎么实现,写的应该没啥问题,结果面试官一问一慌,反而又改错了。。。
17、反问,部门业务(支付),涉及到网络安全吗(因为感觉网络那一块问的比较深),改进的方向:多实践
问的比较广,也问的比较深,前端、后端、数据库、前后端交互问的都比较深,回答的感觉就那样吧,从面试官的态度也不好推断过没过,反正是越面越紧张。
美团一面 4.22 55min
1、自我介绍、聊天
2、进程和线程的区别
3、IPC有哪些
4、Linux常用命令
5、死锁发生的条件,怎么避免
6、分段和分页的区别
7、TCP三次握手,两次为什么不行,四次挥手
8、输入一个URL之后的执行过程
9、数据库的四个特性,四个隔离级别,分别能解决什么问题,
10、索引
11、双亲委派模型,在哪里会用到
12、红黑树有哪些特性、Java中哪些用到了红黑树,hashmap的内部结构,红黑树和链表什么时候会转变,这么做是为了什么,hashset的内部结构
13、代码题:把一个字符串转换成IP地址,输出所有可能的方案。
14、为什么选择美团,现在在面的有哪些,其他是什么进展
15、反问:今天不是HR面吗???
前面问的全是八股文,代码题让用Java写,没写出来

百度

百度一面 3.28:
1、自我介绍
2、float f=3.4会有什么问题
3、hashmap和hashtable和concurrentHashmap的区别和比较,哪个是线程安全的,习惯用哪个
4、多线程的实现方法
5、线程池的种类,线程池的参数,最大线程数和核心线程数的区别
6、sleep和sleep(0)的区别
7、sleep和wait的区别
8、乐观锁和悲观锁的区别
9、synchronized和reentrantLock的区别,哪个性能好一点
10、Linux创建目录的命令,创建递归目录的命令,load averages:4.37,5.55,5.62这三个数什么意思,查看内存的命令
11、代码题:最小覆盖字串,给两个字符串S和T,要求在O(n)的时间内找出最短的包含T中所有字符的字串,如果找不到,返回空串
12、反问,Java基础还可以,操作系统和网络欠缺一点

百度提前批一面 7.16
1、这几个项目是在公司做的,还是学校的课程设计,挑一个介绍一下。
2、 ①rest风格的接口和rpc的接口有什么区别
②socket通信处于网络协议那一层和两种接收发送消息方式
③HSF原理剖析
3、安卓会吗,后面说到百度是没有Java技术栈的,进去可能要做客户端。C++掌握的怎么样
4、jdk新特性
5、介绍Java中的容器,List的底层数据结构、hashmap的底层数据结构、红黑树的结构特点、和平衡二叉树的区别(为什么选红黑树)
6、Linux的层次结构,由哪几部分组成,IO驱动在哪一层,从磁盘都一个文件要经过哪些元件
7、Linux的文件系统,多级页表
8、Linux的内存管理
9、内存分区(组成)、内存和寄存器的区别、栈溢出发生在什么情况下、运行时如果栈溢出会怎么样,异常可以抓到吗?递归调用和栈的关系
10、进程间通信、共享内存通信的原理
11、进程间独立的原理,为什么进程间互不影响
12、讲一下虚拟内存
13、32位CPU和64位的本质区别
14、程序编译的过程
15、网络的体系结构
16、TCP的三次握手,为什么要四次挥手
17、内部类和静态类的区别
18、String字符串的内容存储在哪里、字符串内容经常变化该怎么办,怎么反转字符串(reverse函数,面试官说没有),你自己实现一个字符串反转函数,时间复杂度和空间复杂度是多少
19、微信朋友圈发消息,给消息点赞,就这个场景设计模型
20、用什么数据结构来实现快速查找
21 、单词反转、二叉树层序遍历

字节

字节电商一面 3.20:
1、自我介绍
2、8种基本数据类型
3、对一个字符串直接赋值和new 赋值的区别
4、equals和==有什么区别
5、场景题:抖音每一个视频都有一个评论列表,评论有一级评论和二级评论:A评论视频,B评论A,B就是二级评论,然后C也评论了B,C也是二级评论
同时C还是A的子评论,以这个场景创建一个评论表,表中应该有那些属性。加索引的话哪些字段应该加索引。写sql:找出视频id=123,评论id=234的
点赞数量最多的10条子评论。有一条索引(video_id,father_id)查询条件where father_id=1 and video_id=2能用到索引吗
6、你用explain主要是用来做什么的,索引的级别,filesort知道吗
7、常见的垃圾回收算法
8、Linux常见的命令,grep命令,awk命令,chmod
9、算法题:给定一个数target,找出连续的正整数和等于target的所有组合(滑动窗口)
10、redis的数据结构,和string有关的set命令,set命令能设置过期时间和唯一性(setnx)吗
11、https的连接过程,通信过程的加密是非对称加密还是对称加密,为什么要这么用
12、TCP的拥塞控制
13、DNS的解析过程

字节实习一面 7.18
1、acm经历,参加过几次比赛,在实验室主要做些什么,刷哪些题,竞赛题和力扣题有哪些差异,竞赛题刷到什么程度、后面有参加比赛的打算吗。
2、介绍项目、是实习做的还是学校的项目,有哪些项目,涉及到的最负责的sql语句
3、对象实例化的过程、Java的构造方法和析构方法、怎么重写析构方法、Java有析构方法
4、synchronized的底层原理,线程A已经获取锁在执行业务代码的时候怎么感知到B来竞争,B怎么感知到锁已经被占用,竞争lockRecord本身就是有竞争的,怎么保证加锁的原子操作。synchronized代码块出现了异常,怎么处理锁、自动释放锁是怎么释放掉的。
5、切面编程是什么、实现机制,切面编程和动态代理的关系、切面编程是怎么基于动态代理实现的
6、有一个订单表,下单人,下单时间,订单id,根据下单人查询所有的订单,用户一段时间内的订单,根据订单号查下单人,存储怎么设计,写出对应的设计,select oid from order where uid='xxx' order by create_time asc的性能(全表扫描),怎么优化,加索引怎么加,为什么索引只有uid,不加上create_time搞个聚合索引。select查出来的数据的顺序和插入顺序是一致的吗?数据库的什么机制保证了查询顺序会按照插入顺序来排列
7、http请求中常见的header有哪些,header里面可以存放二进制数据吗,http2.0和1.0,1.1相比多了哪些feature,3.0支持了多路复用,了解吗。2.0有对头阻塞的问题,了解吗,http底层的协议,
8、两个大数以链表的形式给出,求相加的结果。

腾讯

腾讯某部门一面 3.30 1h:
1、自我介绍
2、项目
3、countdownLatch是干嘛用的
4、线程池用过么(用过),然后就直接下一个问题了
5、ThreadLocal用过吗,用的时候需要哪些注意点
6、业务场景:提供一个接口给别人,会有数据发送给这个接口,然后每天下午五点把数据发给别的公司,把这个当作一个项目来做,用哪些框架,用什么东西来存
要完整的思路,数据流入,数据存储,数据发出分别需要怎么做,把API提供给别人需要注意什么地方,数据存储后,对数据分类(爱好,年龄)后在不同的时间
发给不同的公司
7、redis和MySQL的优势和劣势,redis为什么快,redis的网络模型,多路复用IO模型是怎样的一个模型
8、我觉得很多东西你只是了解个皮毛,光知道概念,却不知道怎么用,我的意思是你应该多在项目中去使用这些技术而不是光学这些概念,当然我知道你年龄还小,
这个不怪你,我也不想问你hashmap那些东西,估计你也有准备,别的问的深了我估计你也不会。。。
9、为什么要破坏双亲委派模型,什么样的场景才要去破坏,这个你没用过不会也很正常,有的人用过可能也不会,这个也不能怪你,毕竟你还那么小。。。
10、OOM有没有排查过,为什么会产生,怎么排查
11、你觉得应该怎么设计一个mq,它会有什么样的问题,用什么数据结构来存(队列),如果重启了怎么办,数据不就没了吗(定时做持久化,开机重新加载持久化文件)
12、有1000个任务分配10台机器,该怎么让10个机器分布式地执行,如果有一台机器挂了该怎么,具体实现方案(心跳检测),重新再叙述一下整个过程。
13、100个任务发给一个服务器怎么发,同步还是异步,分别有什么优点和缺点,异步如果执行失败了该怎么办
14、索引,查一次的时间复杂度是多少,AVL和红黑树呢,为什么concurrentHashmap用红黑树而不用AVL树
15、怎么保证数据库和缓存的一致性,先改了数据库,改缓存的任务挂了该怎么办(日志)
16、你知道MySQL的binlog吗
17、对一些中间件了解吗(dubbo,springcloud,rabbitmq),mq怎么保证消息的顺序性,分库分表了解吗
18、算法题:输入一个字符串,输出该字符串字典序的全排列
19、算法题:最长回文子串
20、反问:你们是对实习生的实战经验要求比较高吗?(对,我们确实是想找一些上手快的,毕竟你们的实习时间可能也就是两三个月)
这是第一次被腾讯捞起来,面试体验极其差,面试官问的都是什么阴间题。虽然说确实能拓宽自己的知识面,但是有些问题我觉得每个两三年的技术沉淀是
回答不上来的。个人感觉,腾讯招实习生仅仅就是招实习生,没想把你当转正来培养,这可能也是腾讯实习转正率低的原因吧。

京东

京东一面 4.16 1h5min
12:10分发面试邀请,2点面试,当时人还不在学校,赶到学校1:40,跑到机房拿电脑再回宿舍。这面试时间也太随意了。。。
1、自我介绍
2、项目,用到的技术和遇到的问题,前端也是你写的吗
3、介绍下spring MVC的流程
4、jdbc的流程(原始jdbc真忘得差不多了)
5、TCP连接建立的过程,为什么需要三次,两次不行吗?小哥哥听成了四次挥手。。。说下四次挥手吧。。。为什么需要四次?
6、网络的七层模型,传输层和网络层的协议,TCP和UDP的区别
7、Java的基本数据类型和包装类型,为什么要用包装类型,String和Integer初始值,基本数据类型的初始值
8、equals和==的区别,有重写过equals吗,用于做什么呢
9、hashmap的数据结构,为什么要用红黑树而不是AVL树,PUT过程,扩容过程,负载值是多少,是线程安全的吗,不安全有什么体现(多线程扩容出现循环链表,值覆盖)
多线程环境下有什么替换方案,reentrantLock的数据结构,通过什么机制来保证线程安全,说一下对CAS的理解

技巧:把面试官往你擅长的领域上引导,平时多看些计算机论文、技术文章、理论知识等,拓宽自己的知识面、把自己的知识深度加深,这样和面试官在聊的时候有东西可以聊,给面试官对你的知识体系有个好的评价,从而加分。

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐