刚投简历的时候,能不能进腾讯是没多大把握,毕竟还有很多研究生,大神存在,听说腾讯需要自信乐观的人,面试的时候我也是抬头挺胸,整个面试都是微笑着说话的,尽管二面面试官很严肃.
腾讯的面试地点在916公交的尽头,有点无语,但是应该是最豪的一个公司,几乎把整个酒店包了下来,还提供矿泉水。
刚开始在大厅坐着等候,些许紧张,叫到我名字了,"到13楼某某房间",道了一声“老师好,这是我的简历",原以为面试的时候会紧张,但是面试时没想到紧张这回事.
MS是面试官 W是我。MS:
你先自我介绍下吧.
W:
balabala一些基本情况,学习情况,然后谈了最近腾讯的互联网+模式,还有生活.
刚开始然后他对着我的项目问了很多.接下来的,顺序可能不对,问题也不全,期间谈了很多非技术的互联网的看法,就不写了.
MS:
说一下Android的一些组件吧.
W:
把Android的四大组件详细的说了一遍,生命周期,作用,如何使用以及onReceive里面不能有超过十秒的*作等等.
MS:
过年用过QQ红包吧,微信红包和QQ红包体验上有什么区别啊。
W:
我没有什么微信群,主要是QQ群里面,(想了一下)QQ红包的体验......,有一个奇怪现象,一个几十元的红包,我就经常抢到几分钱0.0几元的红包,感觉有点意外,这是为了给用户留下深刻印象吗.
MS:
我们就不一样,都是上千块的红包.QQ里有个红包排行榜吧,怎么把前三名的找出来呢?
W:
可以维护一个3元素的堆,就是建一个最小堆,每次替换堆顶元素,最后就可以得到了.如果是数据量小的话就直接排序吧.
MS:
那时间复杂度是多少呢?
W:
o(N)吧.
MS:
找出前N个怎么办?
W:
也是堆排序,还可以用快速排序,但不是纯粹的快排,利用他的分治原理.
MS:
时间复杂度是多少?
W:
大概nlog(n).
MS:
那我要找出最大的呢?
W:
直接一次堆调整就好了.
期间问了其他问题,有点忘了.MS:
有了解string,stringbuffer,stringbuilder的区别吗?
W:
(说了一下线程安全,不可变以及stringbuffer源码里每个方法都加同步*作)
MS:
为什么要用Stringbuffer,stringbuilder,我用string+string也可以实现字符串的连接啊.
W:
对,在源码里面,string相加的话它会重新创建一个对象,会导致jvm的创建对象的开销,用其他的话就没有这个开销.
MS:
那不是还有垃圾回收吗?回收掉不就行了.(这是在测试心理吧)
W:
这不一样的,你创建对象的开销是不可避免.
忘了是怎么转到LruCache问题.MS:
LruCache是怎么实现的.
W:
把最近最少使用的释放掉吧.他是用一个LinkedHashMap存储所有cache对象,如果get成功就将该对象的命中次数加1,
Android为每个应用程序分配了一定的内存,大概在几十M左右,不同系统是不同的,当APP内存不够了,就会将命中率最低的从map中释放掉.
MS:
你觉得你最大的优点是什么?
M:
快速自学的能力吧........balabala....
MS:
知道数据库的索引吧。
W:
知道,它是为了........索引也不能太多balabalabala说了一大堆.
MS:
那它是基于什么实现的,有了解过吗?
W:
B-和B+树吧。
MS:
什么是B+.
M:
有点忘了,当时学数据结构的时候有了解过.现在了解的有二叉树,搜索二叉树,平衡二叉树还有红黑树.
MS:
那你说一下平....红黑树吧.(估计他本来想说平衡树)
W:
红黑树是对二叉搜索的优化,它主要是...balabalabla.....(省略)
MS:
你都了解什么设计模式
-- 接下来就是一些设计模式了(忘了具体的问题)..........................................................
MS:
java的jvm是咋实现的.
--------------------------------------- 这时突然接到大众点评的电话,直接挂了.-------------------------------------
W:
不好意思啊,怎么实现的!(这问题太大了吧,我就把class的加载,执行策略,内存的分配图画了一下)
MS:
jvm的垃圾回收是怎样的?
W:
(说了一下c++和java的内存区别),然后就谈java分代垃圾回收..........................
MS:
QQ里有会员和非会员,会员会去抢红包,非会员也会去抢红包,有两个系统,一个是会员系统一个是普通系统,普通系统里面记录了会员和非会员的抢红包记录(反正问的是怎么找出两个系统中的抢红包的相同会员)
--------------面试官让我想一下,他去玩QQ了,估计是通知HR下一个面试者.
W:
可以用hash算法,就是将一个系统中的数据通过哈希函数映射,,,,,,,balabalabala,,.
MS:
那如果数据量很大呢?
W:
这就要考虑内存问题了,可以将数据分为很多块,........balabala...........
MS:
你有什么问题吗?
W:
腾讯一般是用开源组件还是自己写的?
MS:
一般都是自己写的.
W:
腾讯不像阿里巴巴一样收购这收购那的,腾讯为了应该是想作为一个平台吧?
MS:
对的..............balabala
** 一面就这样完了,出酒店的时候查了一下状态,一面顺利过了,准备二面.
--------------------------------------------------------------------------
二面再次来到酒店,面试官是一个比较严肃的估计是总监吧,整个面试笑都不笑,不像一面的面试官那么和蔼.> 先自我介绍一下.
MS:
把这个项目的给我画一下.(一上来就问这个,我屮艸芔茻)
W:
平时没研究过架构,我用UML画一下吧.(就在纸上详细的画了一下).
MS:
数据库熟悉程度如何?
W:
挺熟悉的.(当时犯傻了,就回答这四个字)
MS:
那你把增删查改写一下吧.
W:
(写了增删查,update都有点忘了,就没写)
MS:
没有""改",写下update语句.
W:
(在压力下 还是能写得出来的,看来我需要 压力 这东西)
MS:
写一个socket客户端和服务器的典型代码。
M:
就在纸上写.
MS:
怎么让Android运行流畅.
W:
延迟加载,OOM之类的.
MS:
那你的图片加载是怎么处理的?
MSRUCache是怎么实现的?(一面问过)
................................................................
技术面就这样完了.感觉还可以,也正如某个面试官说的"腾讯是比较在意基础的,哪怕你大学技术再强也比不过工作了两年的人",这也依赖于腾讯的培训体系吧。
三面就是HR面,HR是一个28左右的帅男子.我先是自我介绍,自我介绍完.
MS:
你是从小看新闻联播长大的吧.
W:
(笑而不语,我的普通话都到新闻联播的水平了!).
MS:
为什么不考虑上研?
父母是做什么工作的?
我见你的官网的意向是广州但是简历写的是深圳?
MS:
得了什么公司的offer吗?
W:
去哪儿网的,,海信的我拒了因为它不是互联网公司.
MS:
还投了什么公司吗?
W:
阿里巴巴
MS:
过了笔试吧。
W:
过了,阿里巴巴和腾讯我是肯定选择腾讯的...............
MS:
为什么?
W:
我觉得一家企业的氛围和boss的性格是想通的,像马云就比较高调,小马哥就比较,,怎么说,,诚实,,,,实在吧.........
MS:
和你的性格很像是吧?
W:
我比较喜欢这种氛围....................
MS:
说一下你遇到的最大的挫折.
W:
包括大学之前吗?让我想一下啊..........苦思冥想,,,..然后就说了一下高三............
MS:
你有什么问题要问我吗?
W:
腾讯的中高层一般是自己的员工还是从别的地方空降的?
MS:
80%都是从基层的员工培养起来的,但是一些岗位的确需要从别的地方空降
出门查面试状态,已完成所有面试环节,应该是过了hr面,但听过过hr面不一定得offer,之后就加了西安的等offer群,大家都是很焦急很期待的在等,后来陆陆续续的收到了offer.