前言
楼主本科渣211,硕士华科,专业均SE,校招的时候没啥实习经历,进大厂工作两年多,做后端开发的工作,没有涉及到高并发的case,也没有大流量的项目,也没有必须引入某些中间件或者nosql才能解决业务问题的场景,简称“三无”,只能尽量在简历里矮子里面拔将军,写一些可能有些价值点的内容。社招过程中拿过美团、货拉拉、微众、阿里、字节的offer,最终选择字节。
一面:
1、开始是自我介绍;
2、HashMap的实现原理,什么是hash碰撞,怎样解决hash碰撞?
3、ConcurrentHashMap的原理,与HashTable的区别?
4、HashSet和TreeSet的区别以及底层实现原理
5、HashMap中存key-value,value有重复但是都是Comparable类型可比较;6、怎样根据value排序此集合,介绍实现方法
7、ReentrantLock和synchronized关键字有什么区别?
8、synchronized 修饰static方法,具体锁的是什么?
9、工作当中cpu和内存异常排查方法;详细说明分析过程及定位解决方式
10、接着是讲项目:项目里的问题比较简单;
11、然后就是各种基础,jvm内存模型,nio,bio,aio,高并发,sychronized和volltail,HashMap,数据结构和扩容。
12、还有一些场景题目,大并发/海量数量的情况下,怎么设计系统。从里面拿出两点来问,一个是系统解耦,一个是分库分表。
13、最后一个是编码题,HashMap里key是自定义对象的情况,排序
二面:
1、ClassLoader的原理,举出应用场景及工作实例,介绍类加载过程及工作中的应用
2、jvm问的比较多,jvm的原理及优化;
3、线上发版如何做到分批发的?
redis命令,数据结构,数据库内部锁机制,线上问题解决,sql优化等等;
4、现在使用的框架原理,比如使用了dubbo,会问dubbo的原理,还有h5怎么调用dubbo等;
5、手撕代码。牛客题霸上的原题,可以去看看:NC33 合并有序链表
三面:
1、executor service实现的方法,可以设置的参数;
2、出了个算法提,找出链表中倒数第n个节点;
3、还问了thread和runable的区别;
4、聚簇索引是什么;
5、redis问了一个实际问题的解决办法,如果redis一个value特别大,有什么解决方案;
6、redis内存淘汰机制;
7、mysql的默认隔离级别;
8、 堆排序
9.、paxos协议
10、跨机房部署,遇到的问题及解决方案,全年的9999率
11、MMM的DB架构,主从未完全同步,master挂了,未同步的内容会造成什么影响,怎么恢复
12、ng和tomcat什么区别?能否将两者角色互换。即:tomcat做反向代理,ng做服务容器。说明原因。
13、DNS协议
14、volatile实现原理
15、NAT:公网ip和局域网ip转换
16、类加载委托机制,锁的应用,项目架构
四面:
1、jit,nio,排序算法,hashmap,还有一些项目细节。
2、谈谈项目里主要负责了什么,负责的项目是怎样的架构,自己负责了什么等等;
3、JVM类加载机制;JVM调优;
4、JVM内存模型,栈空间都放什么,什么情况下栈内存会溢出等;
5、JVM垃圾收集机制;
6、jvm栅栏问题,threadlocal的使用;
7、List求交集
8、解决项目运行时,CPU占用过高的问题
9、线程同步几种机制
10、linux检索log,匹配某一请求最多的top10
最后
最后我为大家准备了ava核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!有需要的朋友点这里备注csdn自行下载,对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。