2020秋招实习四五月份面试总结,腾讯、网易、斗鱼、美团等面经

本文涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Java面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。

与此同时,今年算法面试一定是会被问的,而算法不是光靠背面试题就有用的,它是需要数学逻辑思维的,因此,小编会在文末为大家准备一份非常优质的算法学习手册,重点在于学习思维方法,话不多说,直接开始上精选的大厂面试真题!

需要这份面试手册的可以:点击这里!!备注CSDN即可获取

由于文章篇幅限制,不可能将所有面试题以文字形式把大厂面试题展示出来,本篇为大家精选了一些面试题
在这里插入图片描述

腾讯客户端安全(4月14日 电话)
报批失败以后,抱着那么点幻想,去问了HR情况。后来接到了HR的电话说帮我正确到了一个面试的机会。

接着隔天晚上接到了面试电话,正常流程做了自我介绍以后,开始问项目,当我十分钟把项目讲了一遍的时候,面试官发现我的简历不对口,要找的客户端安全方面的人,然后就问我了解安全方面的内容吗,勉强说了下网络完全的内容,还是不太合适,所以面试仅仅十几分钟就结束了。

在这里插入图片描述

腾讯PCG看点一面(4月16日 腾讯会议60min)
项目
APK的入口在哪里
Activity的启动模式
列表闪动的问题怎么解决的?
ListView使用可以改进的问题,包括布局优化、异步加载资源的闪动问题等等。
Glide
LRU算法的思想?
怎么设计一个图片加载工具?
为什么使用Gson?
知道哪些排序?快排和冒泡的思想?Arrays.sort方法的排序?
对项目的总结感受?
反问环节,问了下流程的时间问题,以及看点这边优先级比较高需要提前学习的内容。
一面的面试情况顺利,面试官也当场表示这场面试算是“勾搭”上了,后面即使走不完流程,也会在正式批先找我。另外也建议我自信一点,跟我说了下即使前面待报批流程放弃也是一种双向选择,可能不同的面试官会有不同的考量,即使被一个部门挂掉,别的部门也许就正好需要你这样的同学等等。
在这里插入图片描述

PCG看点二面(4月16日 电话40min)
介绍项目
客户端发送信息给服务端去控制台灯,怎么保证台灯也能收到指令?联调怎么做的?
为什么要进行布局优化的,从什么地方产生的这个需求?
为什么使用Websocket,而不用Socket?
获取图像然后使用SDK之前,有对图像进行处理吗。
OkHttp当中学习过什么内容,网络请求是在哪里发起的?有哪些拦截器?
原生的网络请求方法?
APP框架怎么搭的?
为什么使用Fragment?Fragment相比Activity的优势。
HashMap是线程安全的吗?
实验室相关?
个人兴趣爱好?
最后面问面试官建议的时候,面试官反问我为什么回答问题的时候停顿比较久,我解释了下,然后就说我学习方面没什么问题,但是建议我回答问题的方式需要改善一下,另外也是建议我不用太紧张?(我不知道前面面过的很多面试官留下了什么评语,似乎这回都建议我自信一点,其实这个建议是很受用的,面试当成技术交流是最好的,希望以后能让面试官看到更好的状态)当然我不知道“学习方面没有问题”具体是什么意思,但是面试官对我的这场面试总体还是不太满意,第二天看挂掉了,感觉自己有点懵,回想一下很多地方确实没有回答好。
在这里插入图片描述

网易一面(4月17日 牛客视频 40min)
自我介绍
为什么选择找安卓实习?
简单介绍项目?
使用到Websocket进行长连接,这个长连接实现的原理是什么?有什么好处呢?
OkHttp看过源码吗?它的设计方法是什么?有哪些拦截器的?
HTTP的常用响应码和HTTP的请求头?
自定义View有哪些步骤?
View的视图绘制过程中的几个方法都有些什么作用?
项目中实现的自定义View是实现了什么功能,实现了哪些方法?
事件分发的流程?产生的事件会经过哪些处理完整的讲一下?
布局优化做了什么内容?
内存泄露产生的原因?以及还有哪些场景?
提到引用,那么Java当中的引用的区别都是什么?
JVM运行时数据区?
Java当中Error和Exception的区别?具体的Error和Exception常见的有哪些?
打包的流程?
Activity的启动模式?
尺寸单位dp、sp、px的区别?
Activity生命周期以及区别?
反问环节,问了下部门的工作,用到的技术这些。
网易二面(4月22日 牛客视频50min)
自我介绍
讲下项目觉得亮点的地方
讲下项目当中二维码怎么实现的?
如果要自己实现,怎么使假设一个url生成一个对应二维码?
刚刚提到了加密,那就说下知道的加密方式?
常用的对称加密有哪些?
公钥私钥都是做什么的?
项目里面用到了一个MPAndroidChart,那么这个框架怎么画图的有了解过吗?
假设有一批数据,要画柱状图,怎么实现?
HTTPs的加密会话的过程?
MotionEvent有几种事件?
ScrollTo和ScrollBy方法?
SurfaceView和普通View的区别?
requestLayout和invalidate方法的区别?
死锁怎么发生的?
了解银行家算法吗?目的是什么?思路是什么?
res目录和asset目录的区别?
虚拟机的垃圾回收机制?
新生代老生代的回收算法有什么不一样啊?
GCRoot怎么定义的?
写个代码,两个线程轮流给变量i+1?
网易HR面(4月24日 牛客视频)
就是很普通的问题,为什么选择网易云音乐?对网易云音乐印象深刻的地方?说了评论。

然后翻车了,就没有然后了,然后HR也从最开始的热情表现出对我不感兴趣了,草草结束。
在这里插入图片描述

斗鱼一面(4月23日 腾讯会议40min)
1、自我介绍
2、讲下项目
3、Java引用类型
4、说下项目当中怎么选择抽象类和接口
5、MVP架构模式的使用,MVP关系
6、String、StringBuilder、StringBuffer的区别?
7、那它的线程安全怎么做到的?
8、数组和ArrayList、LinkedList的区别?
9、volatile关键字保证了原子性吗?
10、内存回收机制?
11、jar包当中的一个class提供了一个功能,现在要对这个class进行一个扩展,那么有什么方式可以对这class提供的功能做一个增强?
12、那么对动态代理了解吗?
13、InputStream和BufferedInputStream涉及到的设计模式?
14、那么讲下装饰者模式,实现逻辑是怎样的?
15、布局时include、merge、viewstub分别的作用?
16、那么ViewStub在源码当中跟View有什么区别?为什么能做到懒加载?
17、讲下View的绘制流程?
18、项目当中遇到的一些问题?
19、项目当中出现OOM或者ANR问题怎么解决?什么方式and什么工具?
20、反问环节,问了下建议,面试官说回答不太连贯,虽然都在点上。然后问我对斗鱼有什么问题吗,就问了下斗鱼这边准备实习需要学习的内容?
一面完了以后我以为还有机会,之后就没有消息了,一个星期以后暂不匹配。当时面试的时候觉得问题还是挺简单的,但是后来听录音感觉自己其实回答的不太好,所以不仅仅是面试官说的那个说话不连贯的问题。加上后面还是面试官反问我对斗鱼还有什么问题吗,感觉印象是不是会不太好。
在这里插入图片描述

美团一面(4月28日 牛客视频90min)
工厂模式的使用场景。
虚拟内存如何管理
OSI七层模型。
三次握手四次挥手https的握手。
数据库的范式和事务
忘记录音了,开头问了下为什么选择Android,问了对未来的规划,也问了学习的过程,看过什么书等等。

后面主要是从设计模式开始问起,然后问操作系统,计算机网络,然后写代码。

前面部分的回答还算流畅,但是计算机网络说到分层,在说数据链路层的时候居然卡壳了该死,而且我情不自禁低下头看键盘思考的时候,面试官叫我看着屏幕说别低着头,都不知道是不是被误会看小抄了。然后代码部分是一个剑指原题,中间的二叉树遍历这里我当时选择了非递归遍历,但是没太写好。

所以整体面试情况可能给面试官不是很满意,美团一轮游,后面就没有消息了。

2020 春招实习四五月份面试总结,腾讯、网易、斗鱼、美团等面经
快手一面(5月11日 牛客视频120min)
自我介绍
先介绍项目,项目里主要做的工作有哪些呢?
项目里面提到的图像采集的部分是怎么做的呢?
Websocket长连接是怎么做的?
Java的基本类型有哪些?
它们的长度分别是多少呢?
自动装拆箱?
final关键字的用法?知道哪些用法,在什么场景表示什么意思?
对象的比较涉及的==和equals方法,它们之间的区别?
为啥hashcode方法也要被重写呢?
觉得Java当中哪些要素体现了面向对象的思想?以及项目当中是怎么应用的?
怎么样理解多态呢?
String = “abc” 和 String = new String(“abc”)这两种创建字符串之间的区别?
String a = “abc” + “def”这个字符串拼接过程中+的过程是怎么实现的?编译期是个什么过程呢?
用过StringBuilder吗?什么情况下会用这个?
那么StringBuffer呢?和StringBuilder有什么区别吗?
Java的引用类型有哪些?分别在什么场景下用,有些什么特点呢?
内部类有哪些?又有什么不同呢?
刚刚提到匿名内部类,那它有构造器吗?
那么匿名内部类可以显式声明一个构造器吗?
(上面回答了不可以)然后问如果要做一些初始化工作怎么办?
finally的用法?
知道异常链吗?
项目当中有创建线程吗,创建线程都有哪些方法呢?
线程池的类型都知道哪些?
觉得线程安全的本质是什么?
用过哪些手段保证线程安全?
synchronized可以用在什么地方呢?
volatile关键字了解过吗,作用是什么呢?原理呢?
死锁是怎么产生的?
怎么去打破死锁呢?
juc包中了解哪些工具呢?
那对ConcurrentHashMap了解哪些呢?
ConcurrentHashMap内部的数据中每个桶是怎么组织的呢?
那怎么扩容呢?旧的结点转移到新的位置,是怎么确定这个位置怎么对应呢?
Android当中的LaunchMode有哪些?
Activity的声明周期有哪些?
前面提到的AsyncTask做异步任务,它的实现原理是怎样的?怎么更新UI?并发执行任务和顺利执行任务分别是怎么实现的?
invalidate() 和 requestLayout()
视图绘制机制?
Android当中的Handler和Looper是怎样的一个关系呢?
可以在一个进程当中创建多个Looper吗?
假如现在有一个Button,用户点击这个Button,那么这个Button对这个触摸的响应,整个事件处理过程是怎样的?
Surface、SurfaceView、SurfaceFlinger的关系?
说下自定义View,举一些例子,说下是怎么做的?
有自定义绘制的一些过程吗?那自定义绘制的时候有些什么需要注意的地方吗,比如效率方面等?
Binder通信机制相关,做安卓应用的时候进程间通信都用过哪些呢?Binder实现原理是怎样的呢?
Binder是怎样在进程隔离的情况下通过哪些手段进行通信的呢?
知道MemoryMap吗?
Fragment使用中用到的beginTransaction()的意义?
了解RxJava吗?那了解其中的map操作符是做什么用的吗?
讲下对内存泄露的理解吧!
Java当中的垃圾回收都有哪些了解呢?
DVM和ART的区别
HTTP和TCP是什么关系呀?
TCP的三次握手是什么过程呀?
HTTPs和HTTP的区别是什么呢?安全层会话建立的过程是什么样的?
Java当中List会有些不同的实现,那么ArrayList和LinkedList有些什么区别呢?结构,性能,效率等?使用的时候会怎么选择呢?
平衡二叉树的概念?
平衡二叉树的具体实现有哪些呢?
怎么判断链表当中是否存在一个环呢?
那怎么计算一个环的大小呢?
写代码,反转链表。
反问环节,问了下实习需要提前学习什么内容,以及问了下一些读源码的时候的对于代码细节不记得就感觉没有内容去支撑自己去讲述某一个代码的逻辑的这个困扰,然后面试官也是说前面回答发现我有些在乎代码的细节,方法名啥的记得很清楚这些,就给出了一些的建议。
快手一面的面试官一直带着笑容,我回答完一个问题也会反馈一句“好呀”。

不过快手的面试日常不都是连着面吗,这种两个小时见过快的都已经oc了,一面从十点开始面的,面完已经十二点了,当天下午都没有接到下一次面试的安排,感觉自己是不是挂了。

然后隔天自己打了个电话去问HR,HR小哥哥说正好要找我约面试,说一面反馈不错,就等之后二面了。

快手二面(5月14日 牛课视频60min)
了解局部性原理吗,有哪些例子
CPU访问寄存器的速度和访问内存的速度
那CPU的Cache是什么原理
写出HashMap的put过程,后面是根据代码当中的内容提问,也就是HashMap当中的一些操作
多生产者消费者模式实现
如何确定对象是否会被回收
可达性分析算法对应的是什么数据结构
指出自己写的多生产者消费者模式实现代码当中哪些是GCRoot
工作内存和主内存当中分别都有些什么
hapens-before原则是什么,具体是什么
invalidate方法
Matrix了解吗
我向面试官询问可以努力的地方(理论知识掌握了,但是实践没有跟上理论,没有很好的融会贯通)
面试官问我觉得自己有什么优点
面试官问我觉得自己什么地方需要是需要改善的

面完以后感觉情况不妙,之前加了HR小哥哥的微信,就赶紧去问了下结果,很快就知道自己挂了,然后请HR帮我改了面试状态,就赶紧去投了快手北京的岗位。

不是说杨超越很灵吗?我头一天换上头像,快手二面就挂了嘛。

不过快手的面试体验还是很好的,面试安排什么的效率很高,从自己的面试经历和看过的一些面经,感觉快手的面试味道和其他家的的确有点不同。希望下次可以通过面试吧!

字节一面(5月12日 牛客视频60min)
项目相关:计时部分如果时间特别长,怎么保证进程不被杀死呢?
其他项目相关的问题。
Handler
Looper为什么不会阻塞
HandlerThread
怎么拿到当前线程的Looper呢?
ThreadLocal
遇到过其它内存泄露吗?
怎么判断对象是否能被回收?
哪些可以作为GCRoot?
OkHttp学习过程中有什么收获吗?
对于提到的设计模式说下有什么好处?
Android当中应用到职责链模式的最突出的地方是哪个机制?
滑动冲突是怎么解决的呢?
往浏览器当中输入一个https的url,之后会发生什么?
如果想一次性新建许多线程,每个线程都去发送一个网络请求,然后想等这十个网络请求的返回解析完成之后再去做别的事情,怎么去做这件事情呢?
就是用些线程协作工具类。
一个线程做十个事情和十个线程分别做一件事情,总的CPU时间,哪个方式更快?
使用多线程访问共享资源需要加锁,那么为什么Java当中会有这个访问冲突呢?
那么为什么会有主内存工作内存这样的设计呢?
写题目:题目是英文的,找出数组中最大的k个数?
我中间是写了个快排。
如果是这个数组特别大,k的值特别小呢?
反问环节:
问了下面试官对我面试过程中暴露的一些问题有什么建议?面试官说很多底层的问题也有接触,回答的过程比较详细了,但是对于一些场景问题反应不够快,实践稍微缺少一些,也给了一些建议,说我准备得还是比较充分。问了下部门是做些什么内容?讲了下培养机制等等。然后又问了下我对新技术的了解这些。
面试官是个年轻小哥,很好交流,这场面试总体感觉还是比较轻松的。

字节二面(5月18日 牛客视频90min)
自我介绍提到了项目
然后就开始问项目是什么样的,是课设毕设还是什么?然后说下项目。
然后开始问什么时候接触安卓的,开始学习Java的时间,学校学习的课程等,实验室的情况等,以及做完项目以后学了些啥?
先问了这些情况以后,面试官说挺好的,然后接着问问题了。
ArrayList怎么扩容?
HashMap内部结构什么样的了解吗?1.7到1.8为什么要做这样的改动呢?插入的时间复杂度等。
了解SparseArray吗?提到的一些结构,它的作用是什么?
volatile这个关键字是做什么用的呢?
多线程操作加锁怎么用?
Synchronized和Lock的区别?这两种锁的使用场景又是什么呢?怎么做选择?
Java的动态代理了解吗?
代码过程中用到了Synchronized和Lock吗?提了下项目当中涉及的生产者消费者模式的运用。
Synchronized是可重入的吗?
Throwable、Error、Exception他们之间有什么区别啊?
怎么样让一个异常变成CheckException呢?怎么让别人调用你的方法必须加try catch呢?
如果try catch的是Throwable,这个时候程序执行到这抛出一个Error,能够catch住吗?
Android的事件分发机制?提到的拦截是在哪个方法?View有这个方法吗?
MotionEvent中的CANCEL事件这个事件时怎么产生的呢?
Activity的生命周期,oncreate、onstart、onresume分别代表什么时机呢?
这三个当中哪个能够做耗时操作呢?
点个按钮,ActivityA到ActivityB期间,生命周期的转换。
说下做了什么自定义控件?父类是什么,做了哪些处理,什么效果?用了啥?
我太啰嗦了,而且讲话还有点顿,说的差不多了,面试官说可以了,进行下一个问题。
invalidate 和 postInvalidate
View绘制的流程?
然后开始问我什么时候可以去实习,大四有课吗?
问数据库了,group by关键字作用?join?三个范式的定义?
设计模式了解哪些?
思考问题:序列当中正负数都有,怎么要求的一个最大和的连续序列?讲了思路以后写代码。
运行一下没写对,是后来才改对的。面试官问我为啥之前不这么写。
反问:问了面试官可提高的地方,建议知识点可再细化一些,and算法这块动手前可以想的清楚一些。
感觉字节的面试官都很好交流的样子,面完也七点半了,面试官说HR之后会通知。
字节三面(5月22日 牛客视频80min)

自我介绍,讲下项目
问了下采集图像信息以后要分析的话模型怎么训练的?
项目当中遇到的问题。
事件分发
事件分析,UP事件怎么确定最后传递给哪个View进行处理。
如果说手指滑动出一个View,并没有触发一个Click事件,这个时候是怎么处理的呢?
OkHttp的设计觉得有些什么好的特点?说了下设计模式、连接管理、连接复用这些。然后说了下HTTP当中的一些内容
刚刚提到的是HTTP1当中的内容,那么HTTP/2有哪些不同呢?
说完以后,面试官说没关系,答得不是太好吧。然后面试官说前面两面偏基础的东西问了很多了,然后问我Android这个方面的学习主要是通过一些什么途径呢?
现阶段最大的困难是什么呢?
可以实习到多久?
实验室的项目做到最后是个什么状态呢?是个demo还是说实际上有用到?
发过一些专利或者著作什么没有?或者关于一些项目当中比较好的点。
然后开始做题,题目大概就是一个二位字符数字,然后搜索某个单词是否在这个二维数组当中以任何位置开始存在路径能够匹配这个单词。
害,丢人了,题目比较简单,但是写完以后运行不对,就开始找bug,面试官也和我一起找,然后发现是一个临界条件错了。
反问环节:
也是问面试官从面试过程看有什么地方需要提高,但是面试官说关于缺点这个问题,很短时间内没办法回答,但是给我提了一些建议,聊了下Android体系当中的一些分支,深入源码等内容,学习渠道最新进展架构Jetpack等。然后问了下对实习生的组织等。
面完了,不太敢肯定面试官的意向,面试官也没有说HR会找我等等,就有点慌啊嘤。

字节HR面
终于在周日下午,接到了HR的电话。

谈了下我过往的经历,了解了下我们实验室的情况这些,为什么不考研的想法等等。然后HR跟我介绍了下字节这边的福利以及工作的情况这些,最后告诉我offer审批剩下的一些流程,就加了HR小哥哥的微信,开始等offer。

腾讯捞起(6月3日)
上次正式批一轮游以后,上午游完,下午就被捞了,但是也就状态绿了十几天,并没有发起面试就被放生了。

然后晚上接到一个电话,居然是声音温柔的女面试官,是个小姐姐。我先说明了自己的情况,表示要去实习了,而且很久不在面试状态害怕留下不好的面试记录,就不参加面试了吧。

面试官就问了下是哪家和base以及转正情况这些,然后跟我说了下这次是CSIG的部门,主要做的是性能优化,数据计算这些内容的工作,并且也表示只要通过面试不会出现hc不够的情况了,我想了下还是决定参加下面试,接着本来是要直接问问题面试了,但是第二天有个考试,就跟面试官约定好第二天晚上。

第二天晚上等面试还是会感觉有点慌,毕竟腾讯,但是等到约定的时间以后,接到了面试官的电话,然后告诉了我,经过向同事们确认以后,这个岗位的实习未来是没有转正机会的,考虑到我现在的实习是有转正机会的,面试官说小姐姐不想坑我,所以就木有面试了。后面就是聊了一些这个部门做的一些内容。

面着面着,心态没有以前那么慌乱了,也能抱着平常心想着面了就不吃亏的打酱油心态去面对面试了,抗压能力++。而且遇上的面试官都很好,每次结束都能给我提出一些建议,大部分企业都是正儿八经在招人,没有遇上奇怪现象。继续加油吧。

我给大家准备一些面试题非常全面,包涵Java基础、Java集合、JavaWeb、操作系统、计算机网络、分布式理论、Redis、Linux、git、前端、Spring、MyBatis、RocketMQ、Netty、Dubbo。内容非常丰富,已经帮很多人拿下互联网一线公司的offer。

每份pdf都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧。需要的私信回复我"电子书" 直接获取这份 知乎收获12K赞的Java面试手册!

需要这份面试手册的可以:点击这里!!备注CSDN即可获取

内容真的很丰富!上图!看看就知道了!

Jvm
在这里插入图片描述

并发
在这里插入图片描述

Mysql
在这里插入图片描述

全部的(不一一截图了)

在这里插入图片描述

其它惊喜
哦,对了,还准备了一套上面资料对应的面试题(有答案哦)**和 面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值