浅谈进入大公司“修炼“之路(Android方向)

本文提供了一条清晰的Android开发学习路线,涵盖了数据结构与算法、Java基础与进阶、Android核心知识、计算机网络、操作系统等内容,并推荐了相关书籍及在线资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在知乎上看到的一篇文章让我受益匪浅: http://www.zhihu.com/question/37483907/answer/89452327 ; 我就大概将其中的我认为比较重要的点综合一下,原文更详细。
                    像文章中说的那样:大公司(腾讯、阿里、百度...),看重的是综合能力(数据结构与算法,计算机网络,操作系统,Java等) 小公司,看重的是实践能力,项目经验、学习中是否遇到他们开发中所遇到过的问题,面试偏向于Android里的关键知识。

                    Android学习之路:数据结构与算法,java,安卓,计算机网络,操作系统,后面是数据库或是设计模式之类的

一、数据结构与算法:
            推荐书籍:大话数据结构,数据结构与算法分析(java语言描述),剑指offer,进军硅谷
            推荐在线刷题网站:Leetcode(LeetCode Online Judge),Lintcod(LintCode - 主页),牛客网(在线编程_C++Java前端经典笔试面试题库\http://www.nowcoder.com/activity/oj
            1、买数据结构与算法分析(Java语言描述),看完
            2、在Leetcode刷100道题
            3、然后要分析一些常见数据结构的源码实现(比如队列,栈,hashmap之类的),数据结构与算法分析这本书有讲一些,可以结合一些博客进行准备。

二、java       

            入门书籍:
                            Java核心技术卷一,Head first in java(如果一点面向对象的概念都没有那就看这本)

            提高书籍:
                            1、Java编程思想

                            2、 Java虚拟机:深入理解Java虚拟机

                            3、Java多线程:Java多线程编程核心技术,Java并发编程实践

其实我觉得如果有一定基础建议直接看Java编程思想,面试中的考点经常都会在这本书中有讲到。当然Java虚拟机和多线程这两块需要再看一些专门讲解的书,每一次java面试考查内容几乎都离不开这两块。

总体来说java考察内容包括以下这些:(找点面试题做,正好复习其中的一些知识和学习不熟悉的知识)
                    1,面向对象的一些基本概念:继承,多态之类的

                    2, 抽象类和接口

                    3, 静态类,内部类

                    4, Java集合类,同步和非同步

                    5, Java类加载机制

                    6, Java内存模型和垃圾回收算法

                    7, 线程同步机制(volatile,synchronized,重入锁,threadlocal),线程间通信(wait,notify)

                    8, 异常处理

                    9, 多线程同步问题,生产者消费者,读者写者,哲学家就餐,用java实现

                    10, 了解java中设计模式的思想,用了哪些设计模式,有什么好处


三、Android(就看完三本书,入门书籍跟提高书籍)

入门书籍:第一行代码。

提高书籍:Android群英传,Android开发艺术探索。

上面的书看好了,一般问题不大。主要问的一些问题:

                    1, Activity,Service,BrocastReceiver,Intent,Fragemnet,ContentProvider,这些组件的基础知识,比如Activity两种启动方式,生命周期,四种启动模式,Service则主要是:两种启动方式,生命周期。还有组件之间怎么通信之类的问题。

                    2, Android的数据存储方式,数据库,sd卡,SharedPreferences 这些

                    3, Listview的优化,与scollview的区别

                    4, view状态与重绘,view的绘制过程,view的事件分发机制,view的事件冲突处理

                    5, Android多线程异步机制,AsyncTask工作原理与源码实现,Handler,Message,Looper异步实现机制与源码分析

                    6, Android常见的开源框架(主要是网络通信,图片加载这些),了解怎么使用,分析源码

                    7, Oom和anr异常引发的原因,怎么解决

                    8, 了解一些常见的图片缓存技术

四、计算机网络

推荐书籍:计算机网络自顶向下,tcp/ip协议详解卷一

主要看:主要看应用层,传输层,网络层,其中传输层最为重要。主要的一些考察内容有:

                1, TCP和UDP的区别

                2, TCP的三次握手,和四次挥手,为什么需要三次握手,为什么要四次挥手(这两个为什么要考虑非常清楚)

                3, TCP拥塞控制算法(慢启动,拥塞避免,快速恢复),流量控制算法,滑动窗口协议,选择重传。

                4, TCP可靠性是怎么保证的(通过哪些机制保证)?

                5, HTTP协议报文格式,请求方法字段以及各个方法之间的区别,了解常见的响应状态码,了解cookie机制,了解WEB缓存技术(条件get方法)。

                6, DNS协议的各层域名服务器,两种查询方式(递归和迭代),dns缓存

                7, Udp的特点,适用场景,校验机制

                8, 从输入一个网址到最后网页显示整个过程发生了什么?

                9, IP地址组成,ARR,RARP,ICMP协议,路由选择算法

五、操作系统
                推荐书籍:《Linux鸟哥的私房菜》、《深入理解计算机系统》 UNIX环境高级编程》、 《linux环境编程》

六、数据库
            网上找一下,很多数据库的视频都是免费观看的,慕课网、网易云课堂等。
            学习一门数据库(Oracle、Mysql) 等。
可能只需要记得简单的语句就行了,然后范式、一些锁、主键外键、索引看一看记住就可以,事务是非常重要的,必须掌握。

七、设计模式
            推荐书籍:大话设计模式

基础打牢之后再深入学习Android吧!!!


最后:强烈推荐一个面试经验+复习总结的很好的一篇文章,上面可以找到相应的博客。
地址:www.jianshu.com/p/2e7266c2cee5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值