JAVA实习面经(商汤,今日头条,微博,海康,360)
菜鸡从二月下旬开始投递简历,海投,到目前为止,面试十余家,商汤,今日头条,微博,海康,盛大游戏,借贷宝....总结了一些Java面试的东西,希望能分享给正在迷茫的大佬们,相互学习,早日上岸。最后,看书很重要,面经辅助作用
划重点:面试常问的东西和流程
1.自我介绍,介绍一下你的项目(项目不行的下面的要复习好)
2.Java基础(面向对象原理,String 和StringBuffer ,StringBuilder的区别)
3.集合(属于Java基础,集合问的很多,源码要熟悉,大家都会HashMap和 Concurrent HashMap的区别,你能说出大家不会的吗,底层的锁是怎么实现的,JDK1.8之前和JDK1.8之后的数据结构,看看源码,要透彻)
4.JVM(运行时数据区域(与JMM的区别),GC root,新生代垃圾回收算法,老年代垃圾回收算法,新生代又分什么,垃圾回收机器(CMS,G1),类加载机制(双亲委派等等))--深入理解Java虚拟机
5.并发编程(synchronized的底层实现原理,JMM模型,volatile与synchronize的区别,synchronize与lock 的区别,wait和sleep的区别,悲观锁和乐观锁,CAS(ABA问题怎么解决),并发容器了解哪些,线程池相关参数)---Java并发编程的艺术
6.框架(spring相关的AOP,IOC等等,spring问的很多,基本都问spring)--Spring实战
7.网络(HTTP和HTTPS的区别,TCP/IP,三次握手和四次挥手,get和Post,短地址,从浏览器输入网址的过程,TCP 和UDP的区别等等)--计算机网络第六版/自顶向下
8数据库(索引的底层数据结构,B+树怎么实现的,索引的分类,数据库的事务(ACID),隔离级别,MySQL引擎的区别,Redi数据结构,缓存,消息对列)---高性能MySQL/Redis设计与实现
9.来写两个代码(有的有,有的没有)
9.你还有什么相问的(我觉得我这次面试表现不好,你能给我一些意见吗)
强烈不建议只看面经,只看博客,这样你复习没有章法,知识浮在表面,看书,看书,最好的,看书结合博客,所有的面经都一样,无非就那么些东西,看了书,再看面经,事半功陪,只看面经,你永远停止不前,底层原理不懂,永远不会进步
商汤一面:
上来自我介绍,问项目,Redis是怎么实现消息队列的,数据结构,缓存是怎么实现的。
垃圾回收算法 ,分别怎么用,优缺点
JVM运行时内存模型
GC Root
垃圾收集器
String和StringBuffer 和StringBuilder 的区别
LinkedList 和ArrayList的底层实现原理
list为什么事有序的,set为什么都是无序的
Concurrent HashMap的实现原理
多线程相关的很多
Springs事务
mysql查询优化
线程的单例模式
红黑树
今日头条一面:
上来自我介绍,介绍下项目
来撸代码(我:能不能问下基础,面试官:不行,这个我说了算)
二叉树的层次遍历(按层输出,不是一行全部输出)
海洋,陆地的题目
三个代码题(还有一个忘记了)
TOP K问题
盛大游戏:
1 springboot 依赖注入的方式
2 spring AOP IOC的原理
3 spring 事务
4 spring中用到哪些设计模式
4 HTTP 和HTTPS的区别
5 get 和post的区别
6 输入一个url到网站经历了哪些步骤
7 三次握手和四次挥手
8 接口和抽象类(什么时候用接口,什么时候用抽象类)
9 继承,封装,多态
10 ArrayList和Linklist的区别
11 HashMap和concurrentHashMap的区别从currentHashMap底层是用什么锁实现的(可重入锁)
12 voliate和synchronized的原理
13 多个线程如何取到一个数据
14 JVM内存模型
15 GC-ROOT
16 新生代和老年代的回收算法(什么时候是标记清除,什么时候标记整理,什么是复制算法,各有什么优缺点)
17 servlet的生命周期
18 数据库有哪几种索引
18 索引的数据结构(B+树)
19 重载和重入的区别
20 Redis(String是如何插入到Redis)
21 有十亿个数据,如何取出十万个
22 你有什么问题想问我的
23 cookie和session的区别
24 项目有几个表![图片说明]
微博
1.hashMap的底层实现原理
2.线程池
3.Http请求头
4 .TCP 三次握手
5 .Java的启动参数
6 .Java常用的工具类
7.JDBC的事务
8.数据库的组合索引
9. 悲观锁和乐观锁
10.快速排序
11.基本的排序算法有哪几种,时间复杂度怎么样
12.聊一下cookie和session,怎么储存的,怎么设置过期时间,session里有啥
13.Spring框架熟悉不,AOP的原理,动态***哪几种,区别,有关的反射类讲一下
14 .Request请求头里具体的字段,有什么含义
15.Token
16.数据库索引了解不,最左前缀原则,行锁,表锁,行锁,间隙锁,怎么实现的,语句
17.Jar包后面跟的参数 GC参数
18 springboot的事务
海康
Spring 事务,
单例模式,怎么写,
hashMap hashtable
继承,多态,
spring aop,怎么实现aop,怎么写
如何求二叉树的叶子节点!
JDK和jre的区别
BAT中的一个
1.介绍一下项目
2.String 和StringBuffer和StringBuilder的区别
2.Map,HashSet(HashMap底层数组默认长度,如何扩容,concurrentHashMap如何实现分段所)看源码。
2.ArrayList和LinedList的区别
3.双亲委派(JVM)
4.synchronized关键字底层原理
5.synchronized和lock的区别
6.SpingMvc的一个原理
7.数据库的一个优化
8.数据库的两个引擎的区别
9.Redis里面hash和Java里面的Hash的区别。
某一线大厂
在等开奖中,开奖成功再发面经
在