约了上午十点四十,下雨,路上比较堵,下车之后感到网易北研大厦刚好十点四十。一楼前台签到之后去 楼上会议室等。被一个工作人员领到了会议室里,进去刚想坐下,结果里面正在面试,让我到外面等一下,囧。。。
五分钟后面试正式开始,以下为能想起来的一些问题:
- Q:算法怎么样?口述算法的思路吧。
1.一个二维矩阵,左上角开始,每个元素由上到下,由左到右依次递增,如何快速找到指定值?
2.描述一下如何实现算数表达式求值?- intent-filter使用方式,除了在manifest里面写,还能怎么写?
- 写一个典型的生产者/消费者模式的代码
- 画出Java中各种容器类的继承实现关系
- 描述一下Android中事件分发机制,以自定义视图的点击为例进行说明。
- 说一下Java中waite(),notify(),notifyAll()在多线程工作时的作用。
- 如何保证服务不被杀死?
- 自定义View是如何被解析到屏幕上的,描述一下这个过程。
- Java中线程安全的容器有哪些?
- 长连接是如何维持的?
- 在开发过程中遇到过哪些由于framwork不同而出现的问题,如何解决的?
- 描述一下你知道的消息推送的原理
- ==跟equals的区别
- 如果一个类重写了Object中的某些方法,例如重写了equals方法,还有哪些方法需要重写,这其中有没有什么规则需要遵循?
- 如果让你实现stack你会怎么实现?
- 分别说一下Activity的四种启动模式
- 介绍一下Java的垃圾回收机制
- 强软弱虚四种引用的区别。你在开发中碰到过哪些强引用?虚引用跟弱引用有什么区别?
- 请设计一个图片缓存机制。
- 看过Volley或者OKHttp的源码吗?
- 说一下HashMap的实现原理。如果计算出的索引值相同,怎么处理?
面完之后十二点多了,回学校睡了半小时,下午三点又去了另一家,答案还没整理好…