面试心得与总结—BAT、网易、蘑菇街 - ImportNew

1. 九种基本数据类型的大小,以及他们的封装类。 java

2. Switch可否用string作参数? android

3. equals==的区别。 ios

4. Object有哪些公用方法? c++

5. Java的四种引用,强弱软虚,用到的场景。 程序员

6. Hashcode的做用。 面试

7. ArrayListLinkedListVector的区别。 算法

8. StringStringBufferStringBuilder的区别。 编程

9. MapSetListQueueStack的特色与用法。 json

10. HashMapHashTable的区别。 设计模式

11. HashMapConcurrentHashMap的区别,HashMap的底层源码。

12. TreeMapHashMapLindedHashMap的区别。

13. Collection包结构,与Collections的区别。

14. try catch finallytry里有returnfinally还执行么?

15. ExcptionError包结构。OOM你遇到过哪些状况,SOF你遇到过哪些状况。

16. Java面向对象的三个特征与含义。

17. OverrideOverload的含义去区别。

18. Interfaceabstract类的区别。

19. Static class non static class的区别。

20. java多态的实现原理。

21. 实现多线程的两种方法:ThreadRunable

22. 线程同步的方法:sychronizedlockreentrantLock等。

23. 锁的等级:方法锁、对象锁、类锁。

24. 写出生产者消费者模式。

25. ThreadLocal的设计理念与做用。

26. ThreadPool用法与优点。

27. Concurrent包里的其余东西:ArrayBlockingQueueCountDownLatch等等。

28. wait()sleep()的区别。

29. foreach与正常for循环效率对比。

30. Java IONIO

31. 反射的做用于原理。

32. 泛型经常使用特色,List可否转为List

33. 解析XML的几种方式的原理与特色:DOMSAXPULL

34. JavaC++对比。

35. Java1.71.8新特性。

36. 设计模式:单例、工厂、适配器、责任链、观察者等等。

37. JNI的使用。

Java里有不少很杂的东西,有时候须要你阅读源码,大多数可能书里面讲的不是太清楚,须要你在网上寻找答案。

推荐书籍:《java核心技术卷I》《Thinking in java》《java并发编程》《effictive java》《大话设计模式》

JVM

1. 内存模型以及分区,须要详细到每一个区放什么。

2. 堆里面的分区:Edensurvival from to,老年代,各自的特色。

3. 对象建立方法,对象的内存分配,对象的访问定位。

4. GC的两种断定方法:引用计数与引用链。

5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特色,分别用在什么地方,若是让你优化收集方法,有什么思路?

6. GC收集器有哪些?CMS收集器与G1收集器的特色。

7. Minor GCFull GC分别在何时发生?

8. 几种经常使用的内存调试工具:jmapjstackjconsole

9. 类加载的五个过程:加载、验证、准备、解析、初始化。

10. 双亲委派模型:Bootstrap ClassLoaderExtension ClassLoaderApplicationClassLoader

11. 分派:静态分派与动态分派。

JVM过去过来就问了这么些问题,没怎么变,内存模型和GC算法这块问得比较多,能够在网上多找几篇博客来看看。

推荐书籍:《深刻理解java虚拟机》

操做系统

1. 进程和线程的区别。

2. 死锁的必要条件,怎么处理死锁。

3. Window内存管理方式:段存储,页存储,段页存储。

4. 进程的几种状态。

5. IPC几种通讯方式。

6. 什么是虚拟内存。

7. 虚拟地址、逻辑地址、线性地址、物理地址的区别。

由于是作android的这一块问得比较少一点,还有可能上我简历上没有写操做系统的缘由。

推荐书籍:《深刻理解现代操做系统》

TCP/IP

1. OSITCP/IP各层的结构与功能,都有哪些协议。

2. TCPUDP的区别。

3. TCP报文结构。

4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的做用。

5. TCP拥塞控制。

6. TCP滑动窗口与回退N针协议。

7. Http的报文结构。

8. Http的状态码含义。

9. Http request的几种类型。

10. Http1.1Http1.0的区别

11. Http怎么处理长链接。

12. CookieSession的做用于原理。

13. 电脑上访问一个网页,整个过程是怎么样的:DNSHTTPTCPOSPFIPARP

14. Ping的整个过程。ICMP报文是什么。

15. C/S模式下使用socket通讯,几个关键函数。

16. IP地址分类。

17. 路由器与交换机区别。

网络其实大致分为两块,一个TCP协议,一个HTTP协议,只要把这两块以及相关协议搞清楚,通常问题不大。

推荐书籍:《TCP/IP协议族

数据结构与算法

1. 链表与数组。

2. 队列和栈,出栈与入栈。

3. 链表的删除、插入、反向。

4. 字符串操做。

5. Hash表的hash函数,冲突解决方法有哪些。

6. 各类排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定。

7. 快排的partition函数与归并的Merge函数。

8. 对冒泡与快排的改进。

9. 二分查找,与变种二分查找。

10. 二叉树、B+树、AVL树、红黑树、哈夫曼树。

11. 二叉树的前中后续遍历:递归与非递归写法,层序遍历算法。

12. 图的BFSDFS算法,最小生成树prim算法与最短路径Dijkstra算法。

13. KMP算法。

14. 排列组合问题。

15. 动态规划、贪心算法、分治算法。(通常不会问到)

16. 大数据处理:相似10亿条数据找出最大的1000个数………等等

算法的话实际上是个重点,由于最后都是要你写代码,因此算法仍是须要花很多时间准备,这里有太多算法题,写不全,个人建议是没事多在OJ上刷刷题(牛客网、leetcode等),剑指offer上的算法要能理解并本身写出来,编程之美也推荐看一看。

推荐书籍:《大话数据结构》《剑指offer》《编程之美》

Android

1. ActivityFragment的生命周期。

2. Acitivty的四中启动模式与特色。

3. Activity缓存方法。

4. Service的生命周期,两种启动方法,有什么区别。

5. 怎么保证service不被杀死。

6. 广播的两种注册方法,有什么区别。

7. Intent的使用方法,能够传递哪些数据类型。

8. ContentProvider使用方法。

9. ThreadAsycTaskIntentService的使用场景与特色。

10. 五种布局: FrameLayout LinearLayout AbsoluteLayout RelativeLayout TableLayout 各自特色及绘制效率对比。

11. Android的数据存储形式。

12. Sqlite的基本操做。

13. Android中的MVC模式。

14. MergeViewStub的做用。

15. Json有什么优劣势。

16. 动画有哪两类,各有什么特色?

17. HandlerLoop消息队列模型,各部分的做用。

18. 怎样退出终止App

19. Asset目录与res目录的区别。

20. Android怎么加速启动Activity

21. Android内存优化方法:ListView优化,及时关闭资源,图片缓存等等。

22. Android中弱引用与软引用的应用场景。

23. Bitmap的四中属性,与每种属性队形的大小。

24. ViewView Group分类。自定义View过程:onMeasure()onLayout()onDraw()

25. Touch事件分发机制。

26. Android长链接,怎么处理心跳机制。

27. Zygote的启动过程。

28. Android IPC:Binder原理。

29. 你用过什么框架,是否看过源码,是否知道底层原理。

30. Android5.06.0新特性。

Android的话,可能是一些项目中的实践,使用多了,天然就知道了,还有就是多逛逛一些名人的博客,书上能讲到的东西很少。另外android底层的东西,有时间的话能够多了解一下,加分项。

推荐书籍:《疯狂android讲义》《深刻理解android

其余综合性的书籍也须要阅读,推荐:《程序员面试笔试宝典》《程序员面试金典》。另外"牛客网www.newcoder.com"是个好地方,里面有各类面试笔试题,也有本身在线的OJ,强烈推荐,还有左程云老师的算法视屏课(已经出书了),反正我看了以后对我帮助很大(这不是植入广告)。

3、 项目

关于项目,这部分每一个人的所作的项目不一样,因此不能具体的讲。项目再也不与好与很差,在于你会不会包装,有时候一个很low的项目也能包装成比较高大上的项目,多用一些专业名词,突出关键字,能使面试官能比较容易抓住重点。在聊项目的过程当中,其实你的整个介绍应该是有一个大致的逻辑,这个时候是在考验你的表达与叙述能力,因此好好准备很重要。

面试官喜欢问的问题无非就几个点:

1. XXX(某个比较重要的点)是怎么实现的?

2. 你在项目中遇到的最大的困难是什么,怎么解决的?

3. 项目某个部分考虑的不够全面,若是XXXX,你怎么优化?

4. XXX(一个新功能)须要实现,你有什么思路?

其实你应该可以预料到面试官要问的地方,请提早准备好,若是被问到没有准备到的地方,也没关系张,必定要说出本身的想法,对不对都不是关键,主要是有本身的想法,另外,你应该对你的项目总体框架和你作的部分足够熟悉。

4、 其余

你应该问的问题

面试里,最后面完以后通常面试官都会问你,你有没有什么要问他的。其实这个问题是有考究的,问好了实际上是有加分的,通常不要问薪资,主要应该是:关于公司的、技术和自身成长的。

如下是我常问的几个问题,若是须要能够参考:

1. 贵公司一贯以XXX著称,能不能说明一下公司这方面的特色?

2. 贵公司XXX业务发展很好,这是公司发展的重点么?

3. 对技术和业务怎么看?

4. 贵公司通常的团队是多大,几我的负责一个产品或者业务?

5. 贵公司的开发中是否会使用到一些最新技术?

6. 对新人有没有什么培训,会不会安排导师?

7. Full Stack怎么看?

8. 你以为我有哪些须要提升的地方?

知识面

除了基础外,你还应该对其余领域的知识有多少有所涉猎。对于你所熟悉的领域,你须要多了解一点新技术与科技前沿,你才能和面试官谈笑风生。

软实力

什么是软实力,就是你的人际交往、灵活应变能力,在面试过程当中,良好的礼节、流畅的表达、积极的交流其实都是很是重要的。不少公司可能不光看你的技术水平怎么样,而更看重的是你这我的怎么样的。因此在面试过程当中,请保持诚信、积极、乐观、幽默,这样更容易获得公司青睐。

不少时候咱们都会遇到一个状况,就是面试官的问题我不会,这时候大多数状况下不要立刻说我不会,要懂得牵引,例如面试官问我C++的多态原理,我不懂,但我知道java的,哪我能够向面试官解释说我知道java的,相似的这种能够往相关的地方迁移(可是须要注意的是必定不要不懂装懂,被拆穿了是很尴尬的),意思就是你要尽量的展现本身,表现出你的主动性,向面试官推销本身。

还有就是遇到智力题的时候,不要什么都不说,面试官其实不是在看你的答案,而是在看你的逻辑思惟,你只要说出你本身的看法,有必定的思考过程就行。

5、 面经

LZ应聘的职位都是android客户端开发。

面经其实说来话长,包括实习的话面过的公司有:CVTE、腾讯、阿里、百度、网易、蘑菇街、小米。最先得追溯到到今年3月份,那时候刚过完年,而后阿里的实习内推就开始了,我基本都没什么准备,就突如其来的接到了人生中第一个面试电话。

阿里实习内推一面: 电话面试, 因为是第一次面试,因此很是紧张,项目都没怎么说清楚。而后面试官就开始问项目细节了,这里我关于一个项目细节和面试官有不一样的见解,面试官说我这样作有问题,而后我说咱们确实是这样作的,并无出什么错,差点和面试官吵起来,最后我仍是妥协了。而后问了我一个怎么对传输的数据加密,我答的很挫,而后面试官就开始鄙视我:你这个基础很差,那个基础很差,那你说说你还有其余什么优点没?Blabla紧张的说了一些…………只面了30分钟不到,而后妥妥的就挂了。

通过此次面试忽然感受人生的艰辛,几天后咱们教研室的其余同窗陆续开始了面试,他们都很顺利,其中个人室友(单程车票)很顺利的拿到了offer,他是个大神,而后我就压力无比的大。制定了整套复习计划,从早上9点看书看到晚上10点。

到了315号左右有CVTE面试,第一次面试是群面,比较坑,坐了一个小时的车过去群面了5分钟,没什么好说的。

CVTE实习面 :在自我介绍和项目后,面试官开始问一些java基础,object有哪些方法?这个还能说了一些。问hashmap有多大,这个当时一脸茫然,还sb的答了一个65535。而后面试官让我写三分钟内写一个二分查找,当时也是第一次手写代码,而且还计时,彻底没经验,最后超时写了出来。中间又问了我一堆基础,都答得不是很完整。最后问我遇到过OOM的状况没有,什么状况下会OOM。这个也没答出来,而后又妥妥的挂了。

此次经历告诉我,我是缺乏面试经验,和现场写代码的能力,基础还须要多增强。因此我开始各类准备,在一个月的时间里看了四本面试书(程序员面试宝典、java程序员面试宝典、程序员面试笔试宝典、剑指offer),把全部关于数据结构和算法的东西用代码写了一遍。

而后到了四月初,腾讯来了,我最开始仍是很是向往腾讯的,但就当时那个状况,我对本身不报太大但愿,以为能进BAT这样的顶级公司是个奢侈的梦想。

腾讯的面试是在一个5星级酒店里面,逼格高大上,感受问的东西也比较多,感受喜欢问智力题,可是我没遇到。

腾讯实习1面: 50分钟左右, 面试的时候仍是有些紧张的,可是运气好,遇到了一个学校的师兄,他一直叫我没关系张。几个比较关键的问题:死锁的必要条件,怎么解决,javac++比有什么优点,java同步方法,activity生命周期,中间让我设计了个银行排队系统,我说了一堆。而后让我写了一个计算一个int里面二进制有几个1,而后我用最高效的方法(n=n&n-1)写出来以后,面试官有点意外,还说没见过这么写的,让我跟他解释一下。后面就是拉拉家常,问我对工做地点怎么看,让我对比qq和微信,一面出来以后,面试官让我留意通知,心想是过了,其实发挥的不怎么好。

就在会学校的路上,都要到学校了,收到了腾讯二面的通知,下午3点。而后我又跑回去二面。

腾讯实习2面: 二面是一个很严肃的人,看上去就比较资深那种,一直都不笑,后面才知道是手机管家T4的专家。一开始就问我项目里,心跳包是怎么设计的,我项目里并无用心跳,而后只能跟他说没作,问我用json传输数据有什么很差(我只知道用哪想过有什么很差)。又问了httpsocket的区别,两个协议哪一个更高效一点,遇到过java内存泄露没有,用过哪些调试java内存工具,java四种引用。多数都是项目上的东西,基础的东西没问太多,而后感受本身答的不是很好,不少都不知道,并且还答错了。其实我感受我应该是过不了的,可是最后我问问题的时候,我让他评价下个人表现,他说很差评价,我本身说了一堆,说在学校里确实见识到的东西比较少,不少东西没考虑全面,而后他表示赞同,和我探讨了一番,我以为最后这个问题给我加了很多分。二面也面了50分钟左右。

回来后发现个人状态一直没变,而他们二面完了的都到了HR面了,我觉得我已经挂定了,后来在一天晚上12点的时候,惊喜的收到了次日HR面的短信,当晚上几乎高兴得一夜没睡着觉。

腾讯实习3面(HR): 就是hr面,也就面了十几分钟,聊聊天,问问哪的人,将来什么打算的等等,基本不怎么挂人就不详细写了。

就这样拿到了人生中第一个实习offer

后面找实习的心就放松了,没有复习了。而后到了55号,阿里来了。对阿里也只是想去面一面的心态了,由于已经有腾讯的offer了,就没想太多。

阿里实习1面: 面过腾讯以后发现本身已经比较淡定了,面试得时候可以比较好的交谈了。这一面也遇到一个比较好的面试官,能很轻松的和他交流。主要的问题是android的:activity的生命周期、activity的四种启动模式(当时忘了一些没答全)、线性布局和相对布局、多线程请求,java GC算法与GC方法,内存模型,有一个比较特别的问题是问我微信的朋友圈怎么设计,而后我把思路跟他说了,其余的就是问了项目相关的了。还问了我一个以为技术深度重要仍是技术宽度重要,一面感受仍是比较基础的。

阿里实习2面: 这一面就比较虐心,碰到一个阿里云的CTO,一上去项目看都不看,直接问我写过多少行代码,我说至少34万行,而后他让我写了两个题:一个找素数,一个递归求阶层,对我也算手下留情(他后来让我同窗写AVL树的插入算法,想一想也是醉了)。后面就各类基础了,java的基础挨个问了一遍,比较关键多线程实现,锁的几种等级等,反射的用法,wait()sleep()(讨论这个的时候他把我说晕了),Java还好,多数能应付,而后他就开始问c++的了。虽然是基础,可是lz忘了差很少了,什么指针数组和数组指针,虚函数,多态实现(这个我扯到java上了)等等,问了不少,不少都没答上来,而后他说我基础不太好(我想说我简历上写的了解C++,为何要追着我问TT)。

就这样出来了,原本觉得挂了,后面被通知过了。同窗都只有2面技术面,我竟然多了一面,叫交叉面试,心想这下确定完了。

阿里实习3面: 这一面遇到了后面我去实习时候的部门boss,人很是好,来的时候走的时候都要和我握手,很是的平易近人。这一面仍是问项目上的一些东西居多,基础就问了个java多线程,各个排序的时间复杂度、思想。技术问了半个小时,后面半个小时就开始各类聊人生了(@_@),我家是哪的,父母干吗的,中学怎么样,大学怎么样,等等,彻底就不像是技术面嘛(后来才知道,我一个同窗一开始来就和他聊人生,还聊过了。再次感叹找工做是看缘分呐)。

阿里实习4面(HR :阿里hr比腾讯hr面专业,面了一个小时,把个人生活经历趴了一遍,(问了相似你的优缺点,最让你高兴的一件事,最让你伤心的一件事,你的职业规划,你的理想等等,这种,如今想不起来了)也没什么特别好说的。

面完后次日去圆桌签offer,就这样又拿到了阿里的实习offer

LZ后面衡量了杭州阿里B2B和广州腾讯MIG,最后选择去了阿里,由于在总部,感受大boss人比较好,发展前途可能不错,并且留下来的概率比较大,而腾讯是一个分部门,感受可能不是颇有前景(可是后来了解到其实广州腾讯MIG发展前景很是好,环境也很是和谐,我同窗去实习的都留下来了。哎,只能感叹选择是个大问题)。在阿里实习的两个月时间也挺愉快的,学到了很多东西,也认识了很好的师兄和主管,只因最后被拥抱了变化没有拿到正式offer

实习面经就已经写完了,后面是正式找工做的经历,主要是内推比较多:腾讯、网易、蘑菇街、小米,校招就面了家百度。

在阿里实习的时候,面了网易和蘑菇街。

网易面试是我面了这么多中,问得最专业的了。

网易内推1面: 电话面,一天在里中午休息的时候面的。这一面我面得很烂,因为在阿里实习,面试官刚好也在阿里呆过,问了我在阿里学到了哪些东西,看过哪些框架,看过源码没有,我支支吾吾说了一些,面试官不太满意(我表示我都说不全啊,在阿里就来了不久,哪那么多时间看源码)。项目各类细节问一通以后,开始问基础,Http报文结构,HandlerLooper模型,ThreadLocal(这个LZ当时没答上来),怎么使service不被杀死,android内存优化,本身实现线程队列模型,问我怎么设计(这个当时被前面的问题问蒙了,直接说不知道了),面了20+分钟,感受答得都不怎么好,而后面试官问我说还有没有什么比较擅长的他没有问道的,我就把android Frameworkzygote的启动和Binder通讯说了一遍(这里强行装了一次逼)。

面完以后本觉得挂定了,而后师姐跟我说竟然过了,也是够神奇,我以为是我后面补充的内容救了我。

网易内推2面: 二面是现场面,就在阿里滨江区的隔壁。时间是一天中午,吃了饭就到了隔壁。面试官是个比较年轻人,可能大不了我几岁,也是很是好说话,开始也是聊项目,我把在阿里作的app和本身写的小框架拿出来,他就指着上面各类问,这里怎么实现,会有什么问题,你怎么解决,而后他描述了一个场景说,两个activity,前面的是个dialog activity,怎么在dialog activity存在的状况下改变后面的activitylz答的用广播)。android怎么解决缓存,要是内存超了怎么办?而后扯到了JVMGC断定算法与方法,哪一个区域用什么GC算法,怎么改进复制算法。而后是基础,也像一面同样问了一些,hashmapconcurrntHashmap的区别、泛型可否强制转换。而后是算法,问了快排和归并的平均时间复杂度与最差时间复杂度,出了个算法题:怎么找到一个随机数组的前50大数、中间50大数,(这个用最小堆和partition函数),复杂度是多少。

面完以后其实感受还不错,基本都打答上来了,顺利进入三面。

网易内推3面(HR): hr面也是现场,也聊了不少,问我为何要从阿里来网易,有什么打算,你看中网易的什么(主要是针对我是在阿里实习来问的,我就讲了一堆网易的优点),让来杭州工做愿不肯意。还跟我说了,此次内推是优中选优,有名额限制,若是没有经过,请继续关注网易校招。

后面让师姐查了下状态,状态显示是三面已经过。可是最后没有收到offer,仍是有点小失望。

蘑菇街面试感受比较基础,没有什么技术难度。

蘑菇街内推1面: 电话面,也是在一个中午面的。18分钟,问了一些项目,主要是问基础、问得很是基础:ArraylistLinkedList区别,StringStringBuffer用法,HashMapHashTable区别,Synchronized用法等等等等(很是基础),这不一一列举了,而后很顺利的就过了。

2面是在20天后了,也不知道蘑菇街出了什么岔子。

蘑菇街内推2 :也是电话面,CTO面试,就总体聊了项目,我在项目中学到了什么,遇到什么困难怎么解决的,在阿里实习学到了哪些东西,有看过源码么,个人优缺点,我为何选择蘑菇街,我了解蘑菇街哪些东西。最后答完感受本身答得还行可是也没有过,不知道为何。

小米是投的内推精英计划,50个名额,解决北京户口。

小米内推1面: 电话面,大概40分钟,面试的时候那边很吵,不过幸亏面试官语速慢,并且我答完一个问题后,面试官会和我交流哪里没有答好。没有问项目,就问了基础,问题也很少:HashMap删除元素的方法,for each和正常for的用在不一样数据结构(ArrayListsethashmap)上的效率区别(LZ表示没有看过源码,不知道),static classnon-static class的区别,一个大文件几个GB,怎么实现复制(这个也没有答好)。而后问了两个算法:以前一个出现过,另外一个是在Git里面,若是有n个分支,mcommit怎么找到任意两个节点共同的那个父节点(这个当时我想错了,想到二叉树上去了,没有答好)。而后让两个算法用代码实现,1个小时内写好email给他。

小米面了之后也杳无音信,估计也是要求很高,毕竟解决北京户口。

其实在阿里实习的时候很早就开始投简历了,由于出去实习一段时间后,感受仍是很想留在成都(由于lz是四川人)。腾讯我没有参加校招面试,直接走的内推流程。

腾讯1面: 电话面,720+号,很水,就问了项目,聊了可能有十多分钟,而后面试官说,内推没有什么做用,仍是要走校招面试(我以为他多是有其余事情,想节省时间),你在实习不能回来,仍是要现场面一次才行,而后就留了个电话让我校招联系他,这样就完了。

2面是在我回学校后了。

腾讯2面: 96号我回学校以后,下午3点接到电话,让我晚上7点去腾讯现场面的(我在想为什么是在晚上,lz学校到腾讯要2个小时,还让不让人回来了),当时紧张得要死,由于刚从阿里回来不久,都没怎么好好准备基础,在地铁上看了两本基础书,亚历山大。面试是在腾讯里面,微信部门,面试官是个中年人(如今是LZ的主管),看起来仍是比较沉稳的那种。也没问基础技术问题,就聊项目细节和一些可优化的地方,而后把lz的简历看了翻了一遍,问了一遍,而后就是问我在阿里学到了什么,为何当时选择了阿里(这时候确定要各类跪舔啊)。而后后来他说他是作iOS的,我在想难怪不问我基础。

面完了说一周以内通知我结果,也没报太大但愿,感受并不太对口,由于搞不懂为何是作ios的来面我。

两天以后,在阿里HRG电话通知我拥抱变化以后,几乎同一时间,腾讯电话通知我拿到了成都offer,我只能感叹太巧了(大概这大半辈子的运气都花光了)。

后来校招开始后,只面了百度一家公司,百度确实比较重视基础与算法,看中技术。

百度1面: 大概1个小时,又是个作ios的师兄面试我,天然就只能聊项目了,我给他展现了我作的app后,也问了些技术问题,缓存怎么作的,内存溢出怎么处理。而后两个算法题:把一个数组中奇数放前面,偶数放后面,这个要求写出来。另外一个是3亿条IP中,怎么找到次数出现最多的5000IP。最后问了是否愿意去北京,对于技术的见解。

百度2面: 50分钟,写个4个程序题:反转链表、冒泡排序、生产者消费者,这三个都还好写,很快的写出来了,还有一个题是在一组排序数中,给定一个数,返回最接近且不大于这个数的位置,要求时间在O(logn)(这个想了一会,用二分查找,而后特殊处理了一下),最后他看不懂,要我一步一步解释。花了好一整子,最后问了个java反射,就让我走了。百度果真是重视算法。

百度3面: 这一面应该是个技术高层,笼统的问了我一下项目的问题,而后问了几个基础:java反射机制;android动画有哪些,什么特色?TCP/IP层次架构,每层的做用与协议;TCP拥塞控制;滑动窗口是怎么设计的,有什么好处;android的布局都有哪些。问完这些以后,而后就是有点相似于HR的聊天了:若是此次面试过了你以为是由于什么缘由,没过呢?你以为百度怎么样?你对技术路线什么打算?有些和前面重复的就不写了。而后他让我问他问题,我就连续问了56个问题,最后愉快的走了。

百度这两天给结果。

6、 写在最后

关于选择

LZ当时实习的时候,杭州阿里和广州腾讯选择去了阿里,可是却由于拥抱变化没有留下来,相反这边在腾讯实习的同窗却很顺利。可是也是由于没有去广州腾讯,最后我能留在成都腾讯。选择是一件很是重要的事情,它决定着你的将来,可是也有一点你得知道:因祸得福焉知非福,如今看起来不太好的选择,不必定未来就好,将来有太多未知数。

心怀感恩

其实一路走来,我也是在成长,从最初的不自信,到了最后面试一切都比较冷静与沉着。我一直相信,机会是留给有准备的人,因此,请提前准备,越早越好。我很感激能有那么多人帮助我和确定我,没有最初腾讯的确定,我确定不会走的这么顺利,因此我很感恩哪些让我经过的人,也感谢咱们实验室的兄弟姐妹,给了我良好的学习成长环境,心怀感恩才能好运常在。

找工做其实就像是一场战役,前面咱们经历了高考或者考研,如今是找工做,你不在这个时候搏一搏,怎么对得起你以前的努力。不要担忧找不到好工做,你要相信:

天道酬勤!

相关文章
相关标签/搜索