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的区别。
某一线大厂
在等开奖中,开奖成功再发面经

#实习##面经##微博##商汤科技##Java工程师#
全部评论
请问微博是在哪投的,官网没找到入口哇
点赞 回复
分享
发布于 2019-03-17 15:05
哪些过了
点赞 回复
分享
发布于 2019-03-17 16:31
百信银行
校招火热招聘中
官网直投
优秀优秀
点赞 回复
分享
发布于 2019-03-17 16:33
楼主收割了几家?
点赞 回复
分享
发布于 2019-03-17 19:39
只能说太强了
点赞 回复
分享
发布于 2019-03-17 19:52
楼主能问下你java看的什么书么
点赞 回复
分享
发布于 2019-03-18 10:27
还有三家待开奖,希望本周开奖成功
点赞 回复
分享
发布于 2019-03-18 20:31
请问 商汤是视频还是电话面呀?
点赞 回复
分享
发布于 2019-04-17 12:17
请问下项目做的什么?
点赞 回复
分享
发布于 2019-05-24 15:56
老哥最后打算去哪
点赞 回复
分享
发布于 2019-05-24 15:59
想问一下秋招的时候应届生会问操作系统相关的知识点吗
点赞 回复
分享
发布于 2019-06-13 12:22
老哥请问你这是日常实习 还是春招统招实习生?
点赞 回复
分享
发布于 2020-02-24 14:03
大佬,实习在哪投啊,牛客投了快10个,就一个安排了面试
点赞 回复
分享
发布于 2020-02-24 15:46
一上午把这些都回顾了一下,顺便写了出来,我是一名小白,如果有什么问题,希望大家指出来,非常感谢,大佬勿喷。 2.java基础,面向对象的原理,String和Stringbuffer,Stringbuilder的区别 答:String类使用final修饰的,所以String定义字符串是不能修改的,每次对String进行操作都会产生新的String对象,这样大大降低了效率,同时浪费了堆空间的内存,为了解决这一个问题,引入了Stringbuffer和Stringbuilder。Stringbuilder是jdk1.5引入的,这两个类对字符串进行修改时不会产生新的对象,Stringbuilder不能同步,所以效率高,但是线程不安全,Stringbuffer的大部分方法都用synchronized关键字修饰,实例进行的操作是按照串行顺序进行执行的,该顺序和线程执行调用方法的顺序一致。String可以赋值为空,直接通过String a = “xxxx”初始化,Stringbuffer和Stringbuilder必须通过new对象来初始化。
点赞 回复
分享
发布于 2020-11-09 17:51
3.hashmap和hashtable和Concurrent HashMap区别 (1) hashtable继承于Dictionary类,hashmap继承于AbstractMap,但是两者都实现了Map接口 (2) hashtable中的方法用Synchronize修饰,所以在线程是安全的,在多线程并发环境下,可以用hashtable或者concurrentHashMap,hashmap是非线程安全的,只适用于单线程环境下。 (3) hashmap可以存放空的键值对,hashtable不允许存放空键值对,ConcurrentHashMap是不允许key和value是null的 (4) hash值不同,hashtable直接使用对象的hashCode,而hashmap需要重新计算hash值。 (5) hashtable初始容量为11,hashmap初始容量为16,扩容方式也不同,hashtable不要求底层数组的容量一定为2的整数次幂,而hashmap要求。
点赞 回复
分享
发布于 2020-11-09 17:51
4 .JVM(运行时数据区域(与JMM的区别),GC root,新生代垃圾回收算法,老年代垃圾回收算法,新生代又分什么,垃圾回收机器(CMS,G1),类加载机制(双亲委派等等))--深入理解Java虚拟机 JVM(java虚拟机模型):包括java虚拟机栈,java堆,本低方法栈,程序计数器,方法区 JMM(java内存模型),主要是为了规定线程和内存之间的关系,系统存在一个主内存中,Java所有的变量都存在主存中,对于所有的线程都是共享的,线程对变量的操作都在各自的工作内存中进行,线程之间无法进行通信,变量传递需要通过主内存进行。个人认为,JMM就像是一个接口,提供了规范,JVM实现了这个接口。 GC(垃圾回收)是Java核心之一,判断什么样的对象才被GC主要有两种算法,引用计数法和标记-清除算法。 引用计数法是每个对象都有一个引用计数,当对象被创建的时,给对象的计数设置为1,当对象被引用时,计数加一,引用失效,计数减一,当计数器为0的对象就是不会被使用,就会被GC回收,这样效率很高,但是造成一个问题就是当对象循环引用的时候,计数器不会为0,对象就不会被销毁。 可达性分析:把所有的引用关系看成一张图,从一个节点GC root开始,向下开始寻找对应的引用节点,找到这个节点,继续向下寻找这个节点的引用节点,当所有的引用寻找结束后,剩余的节点就是没有被引用到的节点。 可以作为GC root节点的有:  虚拟机栈引用的对象  方法区中静态属性引用的对象  方法区中常量引用的对象  本地方法栈中引用的对象。
点赞 回复
分享
发布于 2020-11-09 17:51
分代垃圾回收策略(Generational Collector):不同的对象生命周期不同。因此,不同的对象可以采用不同的回收算法。   年轻代:所有新生的对象放在年轻代中,按照8:1:1分为eden区,survivor0和survivor1区,新生的对象会被放到eden区中,当eden区满了就会触发"Minor GC",回收时会将eden区存活对象复制到survivor0中,同时清空eden区,当survivor0也存放满时,就会将survivor0和eden区同时复制到suvivor1中,然后清空eden区和survivor0区,此时survivor0是空的,再把suvivor0和suvivor1交换,保证suvivor1是空的,循环往复,suvivor1不足以存放存活对象时就会将存活对象放到年老代中,年老代满了会触发Full GC,回收年轻代和年老代。 还有持久代,用来存放静态文件,不受垃圾回收的影响。 垃圾回收器: Serial收集器(复制算法)---新生代单线程收集器,高效。 Serial Old收集器(标记-整理算法)老年代单线程收集器 ParNew收集器(停止-复制算法)新生代多线程收集器 CMS(Concurrent Mark Sweep)收集器(标记-清理算法)cpu占用高,响应速度快。 5.并发编程(Synchronized的底层实现原理,volatile与synchronize的区别,synchronize与lock 的区别,wait和sleep的区别,悲观锁和乐观锁)
点赞 回复
分享
发布于 2020-11-09 17:51
一。Synchronized的底层实现原理 比如我们使用Synchronized修饰代码块,使用javap -c test.class进行反编译,会发现有mintorenter和monitorexit,当程序进入同步代码块中,获取到同步锁,线程会执行minitorenter指令获取minitor所有权,然后将进入数设置为1,如果是重新进入,进入数加一。当获取minitorexit指令时,进入数减一,当进入数为0时,退出minitor。反编译文件中有两个minitorexit指令,原因就是如果进入minitor后发生异常,导致锁没有释放,就会发生死锁,最后一个minitorexit就是为了防止发生死锁从而导致线程不会释放锁。 当Synchronized修饰方法时,通过反编译查看class文件会发现,没有minitorenter和minitorexit这两个指令,常量池中多了一个ACC_SYNCHRONIZED,表示线程进入方法后首先应该获取minitorenter,退出要获取minitorexit指令,不过是两种表现方式,意义都是一样的。
点赞 回复
分享
发布于 2020-11-09 17:52

相关推荐

41 551 评论
分享
牛客网
牛客企业服务