Java程序员是如何一举拿下腾讯、网易offer

Java程序员是如何一举拿下腾讯、网易offer_第1张图片

 

腾讯内推TST(已拿到offer)

一面:

  • 自我介绍
  • 跟我提简历里面的项目,如何实现的?具体原理?如果出现XXX情况,会不会出现XXX问题?
  • Android 消息机制,Looper、消息队列等
  • Android事件分发机制
  • 自定义过View吗?回答有自定义过,然后谈了下(普通View)onMeasure、onDraw。针对ViewGroup谈了下onLayout,然后还有就是需要注意onDraw不要做过于耗时的任务,防止卡顿。
  • Java中的多线程:Thread、Runnable
  • Java中的同步问题?Lock、Synchronized
  • 类的加载过程?五步
  • TCP与UDP区别 10.10万个整数中找出排序后的前10个数(Top N 问题),及其对应算法复杂度
  • 10万个整数中,每个整数取值[0,99],找出排序后的中间位置的数(中位数)
  • 堆排序的算法复杂度
  • 面试官说,大概就这些了。紧接着想要挂电话的样子,我赶紧说,我可以问您几个问题吗?面试官说当然可以。我就问了以我当前的水平能否符合您们的要求?面试官说我觉得你还不错。紧接着问了一下大概等多久才能进入下一场面试,面试官说会尽快安排,可能会再周末。

半个月后上午 现场二面

  • 面试官非常nice,整个过程很挺顺利。
  • 针对项目询问
  • TCP拥塞机制
  • 手写代码,针对Top k问题
  • 如何做到多个线程访问同一个数组,既要线程安全,同时提高读写效率(我是通过分段锁的思想,说了一下自己的想法),后面还让我手写代码实现。
  • 很多内容都忘记了。。。。

下午 现场三面

三面面试官据说是总监,反正我是被打压的抬不起头。不得不说,总监级的人物技术确实牛逼。首先看了我的简历,然后说简历里面的项目经验太简单了。。。。

  • 什么是内存对齐?
  • C++内存分为几种类型?(我对C++不熟,就说了JVM中的内存分类)
  • 如何压缩一篇文章?
  • java类加载过程?(这个我很熟,里面滔滔不绝,然而,得到的回应是:背的倒是挺熟)
  • Java那些类是final?(除了String,我真的不知道还有哪些),只回答了String,面试官说,还有呢?(回答不出来了。。。)后面查了下,其实Math类也是final,面试官说日期类有很多,但是我回头查了下,还是没查到哪个日期类是final。

快结束时,面试官说,就到这里吧,你很幸运,我没有让你现场手写代码。因为我当时觉得这次面试面的很差,我就回答,我愿意尝试手写代码。然后面试官出了2道题:如何逆转字符串?如何实现“ I am Student”转为“Student am I”?两道题都很简单,剑指offer里面都有。我一听到这个问题心里就呵呵一笑了,立马说出如何实现。然后,面试官说行,就到这了。

虽然炮轰式的提问,但是我的记忆力确实很差。。。目前只记得这些。。。后面想到再补充。二面完了之后,我觉得直接都挂了,因为好多跟C++相关问题我都回答不出来(毕竟我只搞Java 、Android),在面试官面前,自己确实很菜。

下午 现场HR面

  • 家在哪?
  • 本科是哪个学校?
  • 有没有亲戚在腾讯?
  • 有没有女朋友?
  • 你来深圳了,女朋友怎么办?(回答跟我一起来)
  • 你实习过吗?回答实验室不允许我们实习,然后HR说,那相比那些实习过的人,你的优势是什么?
  • 你有什么问题问我吗?

想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:488048032

Java程序员是如何一举拿下腾讯、网易offer_第2张图片

 

网易面试:(已拿到offer)

网易大楼是在百度大楼的旁边,感觉还是不错的,来的稍微有点早,在前台等了20分钟左右的样子,面试官就带我去面试了。

笔试:

具体的内容记不太清楚了,都还是比较基本的,大概有以下几个类型:选择题、程序输出题、简答、四道算法:

  • 给定一个int型 n,输出1~n的字符串例如 n = 4 输出“1 2 3 4”;
  • 输出所有的笛卡尔积组合;
  • 单例模式;
  • 最长上升子序列。

都不是很难,基本上都能作出来。

一面:

一面面试官是资深的Android开发工程师,所有的问题问的都很详细,很多细节,面试官都能清晰的说出来,水平很高。

属于循序渐进的提问方式,从简单的知识入手,逐渐深入,直到你回答不出来而且问的都是你自认为很擅长的知识点,可见面试官的功力有多深厚,深深的佩服。

我下面大概说一些问题,面试官最后总能问到很深入的地方:

  • 对刚才做的题,一些错的地方做了讨论,主要是类的加载和内部类方面的知识,尤其一些深入到JVM层的知识的确自己有一些不足,不过大部分都还是能答出来;
  • 双亲委托机制,类的五个加载过程;
  • java类加载器的加载流程;
  • Binder机制,从java到framework再到kenral层,面试官问的都很详细,遇到不会的也都会跟我解释;
  • Serializable和Parcelable的区别;
  • View的绘制流程,详细到framework代码,讨论到不确定的地方,立马打开电脑和我一起看源码;
  • 事件分发机制;
  • 常用设计模式,使用静态内部类实现单例的原理是什么;
  • 线程同步,CopyOnWriteArrayList怎样实现;
  • Volley源码,EventBus源码。

面了1个半小时,面试完后就到12点了,跟我说我这关过了基本上就没问题了,面试官还是一个很幽默的人,带我去网易食堂吃了顿饭,这里的饭确实特别好吃,回来后,休息了一会,就开始Leader面了。

二面:

Leader面,我还以为至少要3轮技术面呢,没想到直接就到leader面试了,后来才知道第一轮面试的结果还是很重要的,一面面试官是非常资深的工程师,只要通过一面了基本就没问题了。

  • 项目介绍,聊一些项目上的问题;
  • 下拉listview的实现,需要注意的地方和优化的地方(不是lsitview的优化,是下拉的优化);
  • Android上一些优化方案;
  • 介绍了一下现在做的项目,大体说明了现在所用到的技术。

总体感觉网易的氛围还是非常好的,技术实力非常雄厚,leader技术能力也很强,并且一面面试官告诉我,leader有时候还会自己写一些代码,一般到了leader很少有写代码的了。

HR面:

一样的流程,各种谈,说面试官对我评价非常高,希望我能来之类的话,然后就算面试结束了。

想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:488048032

转载于:https://my.oschina.net/u/3834057/blog/2907427

你可能感兴趣的:(Java程序员是如何一举拿下腾讯、网易offer)