- 10 月 12 日北京面试,已收到 offer。
-
百度
-
一面:
- 算法:给你 n 个数,找到最大的 m 个数
- equals 和 hashcode 说一下
- 线程创立的办法?线程池原理说一下?线程同步的办法?
- HashMap 说一下?
- 百度贴吧的子帖的实现办法(主帖外面的评论帖,别离从数据库和挪动端两个方面来说一下)
- 如果在一个论坛主界面有很多帖子,并且在主界面上都显示这些帖子的图片(每个帖子 9 张),怎么防止 OOM。(讲了两个思路,一个思路是展现缩略图,点击展现大图,另一个是横向 ListView,滑动查看更多,滑出范畴对 Bitmap 进行回收)。
- 图片压缩过程和缓存相干说一下?LinkedHashMap 跟 HashMap 的差异是什么?底层原理是什么?
-
二面:
- 算法:给你一个字符串,判断是不是规范的 ip 地址。(我写完一个之后,说让我把所有的测试用例写进去,发现有几个遗漏掉了,面试官说,让我依据这些测试用例从新再写一下,考查代码扩大优化能力。)
- 自我介绍,聊聊我的项目,问我数据起源和数据库设计比拟多。(我的项目上聊的比拟多)
- 举了个数据库联结查问的例子,写个简略的 SQL 语句。(join)
- TCP 的三次握手说一下?为什么是三次握手?为什么是四次挥手?
- TCP 的滑动窗口原理晓得吗?(我说原理不分明,然而我晓得他解决的是什么问题。)
- hashMap 是线程平安吗?如何实现线程平安?
- Android 的长久化存储形式说一下?
- Android 的启动模式和场景说一下?
- Android 的 ANR 晓得吗?怎么防止?
- 内存溢出和内存泄露说一下(两头有提了下 Handler)
-
三面:
- 自我介绍,我的项目介绍
- 我的项目中你遇到最大的问题是什么?怎么解决的?(感觉是压力面,会把你说的话往不好的方向诱导,两头屡次解释)
- 理解生产者消费者模式吗?他次要解决的是什么问题?队列数目为 0 的时候是怎么的?形容一下整体过程中线程的状态,怎么实现的是线程同步,不要用 sychronized 来说。(emmm,设计模式始终是我的单薄的中央,理解的不够深刻,答复一点后就立马再被诘问,被怼的很惨)
- 平时有什么兴趣爱好?
- 有没有男朋友?
- 报的上海,如果调岗到北京怎么看?
- 有什么想问我的吗?
-
面试筹备
Android 进阶学习《Android 开发艺术摸索》,面试必读,重点常识我重复看了好多遍。
《Android 内核设计思维》,这本书写得很深,读起来也比拟艰涩。须要有肯定的理解能力。
java 根底学习了《java 编程思维》,看源码。
java 总结学习《码出高效》,这本书对知识点总结的很好,面试答复的时候我都是依据这本书的总结来答复的。
jvm 学习《深刻了解 java 虚拟机》,必读,我是背了重点的内容,对于安卓来说,只须要相熟重点章节就能够了。
大厂基本上不太看重具体的技术, 无论你是 Java 还是 C ++,比拟看重思路与形象的解决方案。
结语
我始终感觉技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等告诉。
首先,技术面试是一个 意识本人 的过程,晓得本人和里面世界的差距。
更重要的是,技术面试是一个双向理解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他当前可能就是你的共事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图理解他的工作内容、理解这个团队的气氛。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在本人的心里划分一个比例。