DevStore首页 > 文章 >文章详情

【职场经验】阿里、腾讯面试准备(二)

superman001 | 2015-04-10 09:54    浏览量(2168)    评论(1)   推荐(0)

你所经历的,都将作为未来的财富。

上篇说到面试准备,对于自己,我主要列了以下几点进行准备,同时也为面试的准备提前做个规划,不至于太混乱。其实纵观整个面试的准备以及面试过程,真的和考试是一样的,你之前的努力学习都是在积累,但是如果考试前一点都不准备呢,你也不一定能取得一个好成绩,况且之前的积累并不是那么的扎实,随意现在就好比考试前的准备,需要做个详细的规划,努力去加深之前已经会的,涉猎自己之前没有遇到过的。说了这么多废话,开始谈谈自己的准备过程。

规划纲要

凡事豫则立,不豫则废。

对于面试Android客户端的开发来说,无非有以下几点需要认真准备:
1. 面向对象的基本知识。
2. Java中的知识点。
3. Android基本知识点。
4. 多线程准备。
5. Android中的一些机制原理,比如点击事件的实现机制,界面的绘制过程等。
6. Java中的容器。

上面的主要设计的事Android客户端中的知识点,同时由于面试的范围比较广,所以计算机的基本知识也需要认真准备,主要有以下几点:
1. 数据结构,其中的链表、栈、队列、二叉树、图、hash、堆,这些基本知识都需要熟练掌握,毕竟这是计算机的专业课。
2. 设计数据结构中的常用算法,比如各种排序算法、查找算法,需要熟练的掌握并能手写代码。
3. 操作系统中的基本知识,比如进程和线程区别,操作系统的内存管理等。
4. 数据库的基本知识点,以及常用的几条命令。 
5. 网络的分层协议,以及TCP、UDP、HTTP的概念和区别,以及POST、GET等设计平台开发中的具体网络知识。
6. 面试中的常见算法,比如如何判断链表有环等,推荐看《剑指offer》,我也是面试准备期间买的。
7. 设计大数据的一些问题。 比如海量数据中找前K大个数据。

准备过程

面向对象基本知识

面向对象的基本知识点。
1. 面向对象的基本特征:封装、继承、多态。详细解释看这里
2. 面向对象和面向过程语言的最主要区别:一个是对事物抽象来进行设计,一个是对事物的具体实现流程来进行设计。
3. SOLID 原则,我也是在准备过程中第一次听到这个名词,详细解释看这里

Java基本知识

涉及到Java的具体知识,都需要好好的进行准备,因为这是Android开发的必备知识,面试官也更倾向于这一方面进行提问。
1. Java中的垃圾回收机制,这是Java中的必考题,垃圾回收一共两步,第一步时标记-清扫 ,第二步是停止-复制。详细解释看这里
2. 接口和抽象类的区别。最直接的是,接口可以实现多个,抽象类只能继承一个。详细解释看这里
3. 在者就设计到Java中最重要的知识点了,容器,容器也是面试中问的最多的,设计的具体面试问题以及答案看这里
4. 说到容器,各种容器的用法,特征,以及底层实现,还有容器与容器之间的区别,比如Vector和ArrayList的区别等,这些都需要好好的进行准备。推荐几个我看过的不错的涉及Java中集合的网址:JAVA集合类Java集合框架学习总结集合框架的面试题及答案
5. Java多线程。这是Java中的另一个重要问题,面试必问,多线程无非两种,实现Runnable接口,继承Thread,同时要区分这两种的区别。推荐看一下这个
6. Java中线程同步。这也是必考的,问synchronized和lock的区别,以及线程之间的一些通信和线程状态的转换。这个从网上搜下,很多的,下面给出的面试推荐中有设计。
7. final,finally,finalize的区别。具体看这里
8. Java中的析构函数,我也是在准备过程中第一次听说,详细看这里

Java复习的总结

复习Java之前,详细看下《Java编程思想》,如果没有太多时间,可以看着目录挑一些比较重要的以及自己的盲区知识点看看,同时推荐看下《改善Java程序的151个建议》这本书,这本书上的好多总结都是非常经典的,都需要自己好好的学习下,同时也涉及好多面试中要问到的。再者推荐几个我复习期间看过的网址,感觉都还不错,115个Java面试题上115Java面试题下电话面试Top50 Java中的ReentrantLock和synchronized两种锁定机制的对比
这些推荐的都是我复习中看过的一些比较好的,都是结合自身来进行复习的,重要的一点还是清楚自己哪些知识点薄弱,哪些需要具体加强复习。这些都是比较片面的,也就是准备面试能这样做,平时里还是建议认真仔细的研究各个知识点。

Android基本知识

Android中的常用基本知识点不太多,但是这些需要非常非常熟练的掌握,当面试官问你的时候,需要脱口而出,这样才能体现你是真正的了解这块知识。
1. 老生常谈的Android四大组件,Activity,Service,BroadcastReceiver,Content Provider。详细解释看这里
2. 理解Intent和Intent Filter
3. 下拉刷新ListView的实现原理
4. Android 创建与解析XML
5. Android异步处理
6. ContentProvider和Uri详解
7. Fragment生命周期以及和Activity区别
8. 对PendingIntent的理解
9. android之WakeLock机制浅析
10.再有就是结合自己的知识点在补充。

Android高级机制

这部分属于涉及底层的一些知识,比较难理解,需要认真理解。
1. Android进程间通信机制Binder。详细解释可以参考 Android进程间通信(IPC)机制Binder简要介绍和学习计划Android Binder通信机制学习
2. Android界面底层界面绘制过程分析。详细可以看这个系列
3. Android中点击时间Click的传递过程。详细可以看这个
4. Android中View和ViewGroup的区别和联系。详细可以看这个或者这个
5. Android中Activity的启动过程。详细可以看这个
6. Android的Looper消息机制。详细可以参考这个或者这个
7. Android中Activity的启动和创建
8. 深入剖析Android中的消息机制

Android优化篇

Android中常问倒的优化技术。
1. Listview的性能优化
2. Android收集崩溃信息
3. Android网络优化
4. Android内存溢出问题

Android的中主要知识点在上面都有介绍,如果有遗漏的,还需要结合自身来进行巩固复习,上面的高级机制是比较难理解的,我当时复习这里的时候都是几乎每一天都要进行复习这些高级机制,毕竟这些东西都设计到framework层的复杂代码,需要好好的进行理解。

发现认真写篇博客真的好累,比写实验报告还累。这篇就到这里,接下来介绍下一些基础知识的复习,比如数据结构、网络、算法、操作系统。移步阿里面试准备(三)

逆风的方向更适合飞翔,不怕万人阻挡,只怕自己投降。


  •   赞(0) 赞 +1 赞(0) 已赞
  •   收藏(1) 收藏 +1 已收藏 取消
  •   推荐上头条 推荐 +1 推荐上头条 已推荐
评论(1)
understand_

understand_ 2015-06-15 10:22:39

这么好的面经 不顶??
回复(0) 赞(1) 赞(2)

文章上传作者

  • 8 能力值
  • 4 文章
  • 0 投稿

superman001的热门文章

热门文章

暂时没有热门文章噢~