腾讯PCG事业群Android端一面面经

时间线

时间 历史节点
2020/3/10 确认内推
2020/3/11 17:00-18:06 一面
2020/3/13 17:00-17:32 二面
2020/3/18 15:00-16:00 三面

腾讯PCG事业群Android端 一面【66min】

1.自我介绍

2.我看你这简历上的技能咋都写的是Java的东西呢?安卓的项目做过,SSM的也做过,那你后台开发和Android倾向于哪一个?

主要准备的Java,Android没有具体学习过,但是对Android很感兴趣。

3.你咋选的实习地方北京,能来深圳实习嘛?

北京离家近点,去深圳也没问题,在哪工作不是问题。【极强的求生欲…】

4.说说项目,我看你上面有个项目做App的,有准备Android方面吗?

跟他解释了下为啥没准备Android的,然后开始叭叭我的第一个项目。

3.有些SQL比较慢,你咋办?为什么有的SQL这么慢,说说你觉得导致SQL很慢的原因。

大概说了说我的想法,然后问SQL很慢的时候,我说了类似于数据量大、没建立索引啊还有索引建立的不太好等等情况,然后面试官还积极引导我往更多的方面去思考。

4.内存泄漏?OOM?什么情况会OOM?

说了说内存泄漏是什么,和OOM关系,然后列举了常见的OOM情况,我还跟他说了说使用Vector的时候遇到的OOM情况是怎么导致的。这个问题后来另一家大厂也问我了(面试官说我总结的还挺全hhh)。

5.用过多线程没?说说咋用的。线程池知道不?说说线程池的原理?

我说简单的用过,给他叭叭了下怎么用的。说线程池的地方,先说了说线程池的常用参数,每个参数什么意思,然后说原理。后来还想说的更细一点的时候,就问我别的问题了。

6.对ArrayList一个读操作,一个写操作,你用多线程咋实现。死锁你知道不?你怎么解决?

送分题,多说点,说的越多越好,面试官希望你能多方位的思考。

7.volatile知道吗?volatile的原子性?

简单说说volatile,举了例子结合字节码谈了谈我的理解。

8.Java中的锁知道哪些?

送分题,还是要把自己知道的都说出来啊,不过注意条理性。

9.线程之间通信的方式?

送分题,之前复习OS和Java高并发的时候,总结过,知道的都说了出来,一定要总结高频面试题!

10.JVM调优,说说你能从哪些方面着手?

没有问一些命令,重点考察的感觉是从哪些角度去思考问题,看过一些总结的博客,JVM那本书上也有介绍,建议多看看,多记忆,多理解,就没啥问题。

11.JVM和GC简单聊聊,结合JVM内存说说GC。

结合HotSpot说了说哪些线程共享以及大概用途,哪些不是线程共享,GC回收的对象是啥,为什么GC不回收本地方法栈、Java虚拟机栈那些,针对不同的特性,说了说年轻代和老年代对应的GC算法,还有方法区回收的条件。

12.HashMap和HastTable,HashMap安全?不安全用什么?hash()?HashTable是怎么实现安全的?

13.我对你的Java基础有了一个了解了,下面我们问问网络相关的知识,计算机网络应该学过吧,那说说TCP三次握手?第三次握手能不能去掉?UDP和TCP的区别?

说的挺详细的,顺带扯了一下包格式、握手的状态、还有SYN和ACK消耗序号,什么叫做无效的连接请求都解释了一遍。

14.你知道长连接吗,说说?为啥用长连接?

问这个问题好像是因为我说啥来着,我提到了长连接。然后问了我长连接之后,又顺势牵出来下一个问题。

15.HTTP1.0和HTTP2.0的区别?说说NIO?

NIO当时我准备的不充分,草草几句收尾,面试官笑笑。

16.HTTPS知道吗?说说SSL?

本来一开始想问我HTTPS和HTTP啥区别,我差点脱口而出了,结果换题了。

17.好了,网络聊到这里吧,我们说说算法之类的吧。跳台阶知道吧,怎么做啊。

剑指offer上的原题

18.一个链表,让你找最中间的节点,你怎么找?

leetcode上的一道题,说出来快慢指针,面试官就会说okok了。

19.两个大文件,一个比较大,一个比较小,让你求交集,你怎么做?

一开始我好像听错题了,面试官强调是文件,我说的HashMap,然后说了说思路。

20.那么,我们再问两个智力题吧,没有固定答案,不要限制自己的思路,想到啥说啥,一个粗细不一样的绳子,完整的烧完1个小时,你怎么让他烧15分钟(不一定烧完)。

结合从两头开始烧,半个小时烧完,我给他叭叭了一下,但具体怎么回答的忘了,面试官还给我讲了讲,就算过了。。

21.一副全新的扑克牌,按顺序的,AAAA,2222,3333,这种,你怎么洗牌能洗散开?

说了几种,我把平时洗牌的绝学亮出来了,他还让我说,我想不出来了,他说,嗯好的,这个题算你过吧。

22.C++和C了解吗?

23.面试官问我啥时候有空,约下一面?

24.闲聊,你有啥要问我的啊?问了好几个问题,问完了以后,面试官问我还有啥想问的,不想问问学习资源什么的吗??我就又问了好几个,然后跟我说了说面试的情况。就愉快的say GoodBye了。

问的问题(忘记顺序了):

1)我问:还有下一面吗?面试官给我说了说后面啥情况,如果下一面过了,那么三面不会再写算法题了估计。

2)面试官问我:目前有没有Offer?Java后台和Android你选一个,你做哪个?

3)我问:新人培养计划是啥?以及你们主要负责哪一块的业务?

4)面试官临时想到问我的:有人说Android端走下坡路,你怎么看啊?

5)给我说了说笔试是啥情况。

6)有没有什么学习资源啊?我如果走Android的话,我应该要去学习什么,或者怎么学习会好一些。

PS:因为我算法太烂了,我就问笔试对于能否进下一轮面试的作用大吗?他说,会占一部分,但是也不会全看算法。但是毕竟编程,代码水平不可以特别差吧,还是要有一定代码功底的。

总体感觉:

​ ​ ​ ​ ​ ​ ​ 面试的问题不是很难,如果不会,面试官会引导你,他觉得我说的挺有意思的时候,还笑笑,这就让我更不紧张了。还有就是语速慢点,我可能太紧张了,叭叭的多还叭叭的快。

​ ​ ​ ​ ​ ​ ​ 问问题的话,感觉还是尽量的去了解他们这个部门干啥,自己去了干啥比较重要,毕竟如果面的好,能拿offer,比较offer的话,好比较的。顺便也能看看自己对这个部门感兴趣吗。第一次面大厂,没啥经验,面试是个双向选择的过程,一定要了解对方做啥,自己是不是有兴趣等等方面。

​ ​ ​ ​ ​ ​ ​ 以及回答问题的时候,尽量发散思维,结合实际的例子去说,这样会让面试官觉得你很棒,知道的很多,也有自己的积累和思考,如果回答一个问题照着网上看到的资料背下来,可能会让对方感觉是机械记忆,可能我回答问题的时候,尽可能把很多学习到的知识都串联起来讲出来了,所以面试官对我评价不错。一面没结束就直接约下一面,也是挺意外的。

发布了201 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40992982/article/details/105141252