前言
其实在初期,就无数次幻想着秋招结束,然后写一篇长长的经验贴的那种满足感。下面尽量把我知道的和我经历的面试过程中的我觉得比较重要比较有意义的问题记录下来。
百度
一面
- 简单的自我介绍
- 项目中为什么要选用SpringBoot;
- SpringBoot有什么优势;
- SpringBoot是如何启动的;
- 了解SpringMVC吗,可以说一说 SpringMVC 的作用吗;
- ==和 equals 的区别?(问了在重写equals之前, equals判断的是什么?)
- 数据库的主从复制的优缺点;
- Redis 的数据结构,以及项目中 Redis的使用场景;
- Redis 定期清理数据的策略(除了设置 key的过期时间还有哪些?)
- Linux 的常用命令,真的是啥也想不起来了(问了怎么查询进程,怎么修改限权等等), Linux命令真的要好好看看了。。。
总结:以为百度会面很多java基础的,结果一开始一直在抓着项目问,问 SpringBoot 问到生无可恋。。。面试官是一个非常nice的小姐姐,全程非常耐心,有不清楚的地方都会给解释,很好的面试体验。。。
百度二面
- hashmap和hashtable
- tomcat服务器的相关问题,这个了解的太少了,啥也不知道
- 二叉树的遍历方式以及对应的时间复杂度
- 算法题:
- 1、1000个字符统计词频,并选出出现次数最多的 10个数
- 2、一个数组中有1到 100,100个数,将其中任意一个数修改为-1 ,找到被修改的数
- ……
然后就问别的了,开始聊人生聊理想,感觉不像是二面,像hr面(虽然我并没有 hr 面过……)
探讨人生……并且问有没有转测试岗的想法…… 哎,感觉到转行人的卑微,也不太清楚面试官是啥意思,然后开始探讨转行的原因……怎么学习等等…… 还问了人生规划……感觉背后一阵凉意……
但是每当说起转行的问题,真的很动情,有些转行的苦也只有自己知道,没办法,想实现目标只能不断负重前行
网易
网易内推批次一面
1、自我介绍
2、Java中的Collection 类中的list和set;
3、ArrayList和LinkedList 的区别;
4、TreeSet的底层结构;
5、Java中多线程的同步方式;
6、volatile关键字;
7、解决哈希冲突的方法;
8、树结构(二叉树、二叉平衡树的左旋右旋,二叉树的前中后序遍历);
9、图结构;
10、了解Linux 吗;
11、了解分布式吗,说说用到的分布式;
12、MySQL 的主从复制原理,全量复制和增量复制;
13、MySQL 的索引了解吗;
14、SpringAOP和IOC 的实现原理;
反问环节:
1、您觉得我的表现怎么样:
Java基础掌握的挺好的,但是有些细节的地方还是需要再精进一些;
2、本轮面试如果通过还有几轮?
这个不知道,需要问一问hr (听到这段话我的心是崩溃的,看了那么多面经,一般出现这样的回复,基本是凉了)
3、多久能出结果呢?
这个我也不太清楚,但是我这边直接跟你说了,是给你过的,具体什么时候有通知,要看 hr了
网易内推批次二面
- 自我介绍;
- 用户登陆上之后怎么可以访问其他的页面;
- 设置redis存活时间的标记;
- 登陆凭证在前端存储在哪;
- 后端怎么设置前端的cookie;
- 了解cookie吗;
- cookie的存活时间设置,小于 0,等于0,大于0 ;
- tcp的三次握手、四次挥手;
- 四次挥手的wait_time,为什么是 2ms,2ms怎么设置;
- 了解tcp里的 smp协议吗?
- 了解ping吗?
- mysql中的索引;
- 非聚集索引为什么使用指针;
- 怎么使用工具查看是否走索引了;
- 项目中对数据库的优化问题;
- mysql怎么进行选举的?优先级?
- sql的优化;
- http的响应码;
- http的请求方式;
- head请求方式的特点;
代码题:
- 1、判断数组中只出现一次的数(hashset或者异或来算)
- 2、二叉树的层序遍历,以及如何实现s型层序输出
- 3、利用两个队列实现栈或者利用两个栈实现队列
美团
美团技术一面
1、自我介绍;
2、阐述一下java 基础部分都学了些啥;
3、JavaIO 流中使用了哪些设计模式;
4、JavaIO 流有哪些,区别是什么;
5、然后是一系列的Java 字节流和字符流的小问题;
6、LinkedBlockingQueue的底层结构, LinkedBlockingQueue是怎么实现阻塞的;
7、Java中的轻量级锁;
8、(代码)查找链表的倒数第k 个节点;
9、为什么要STW ;
10、CMS的过程;
11、不使用双亲委派机制的JVM ,或是 Java中违反了双亲委派机制的举例;
12、不使用双亲委派机制会引发什么样的问题;
13、TCP/IP 指的是两个协议吗;
14、传输层和网络层解决的问题;
15、https的加密过程;
16、写了一条SQL:select * from table where name = ‘zhangsan’ ;
1)如果name 没有建立索引,该条 SQL的执行过程;
2)索引的相关问题;
3)数据库优化的相关问题;
4)如何给SQL 加行锁;
17、Redis 的一主二从三哨兵的机制;
18、Redis 的单线程如何实现主从复制。
19、逻辑题:证明x > x + 1
美团技术二面
2、平时怎么自学的;
3、为啥不跨考;
4、内存管理方式;
5、段页式存储的关系;
6、进程调度算法;
7、现在操作系统选择的调度算法;
8、tcp和 upd的区别,属于哪一层;
9、开放题:牛客面试网站各个模块的传输层协议应该怎么设置;
10、线程池参数,对于cpu密集型和 io密集型的线程池核心线程数的选择,为什么?
11、java中的锁,自旋锁;
12、hashmap的线程安全问题,除了头插法导致链表死循环之外的其他场景;
13、arraylist和 hashmap的很多问题,但不是面经上可以背到的问题,必须是看过源码而且很清楚,才能答得很清楚;
14、jvm,和gc 问题;
15、类加载机制;
算法题:
1.求一棵树第k层的节点个数
2.层序遍历和递归
总结
每一个人可能都会遇到一些挫折,希望大家能在想放弃的时候,想一想当初下的决心,再想一想成功之后的喜悦,其实就坚持下去了,人生也没有几次大起大落,转行也许就是你改变自己,走出舒适圈的第一步!加油!
小编也为大家整理好了上述面试题和答案:戳这里免费领取,暗号:CSDN,还有更多大厂面试专题资料和视频哦!
上图资料:戳这里免费领取,暗号:CSDN,还有更多大厂面试专题资料和视频哦!