BAT等大厂Android面试书单和知识点清单

简介: Java知识java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比较厚,里面的例子也比较冗长。

Java知识

java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。

  • 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比较厚,里面的例子也比较冗长。但是如果细细去翻阅并且把例子都敲一遍的话,那么我想你的java基础会变得非常扎实。
  • 2.Effective java:很多人会把Thinking in java 和这本书进行比较,但是我觉得两本书的侧重点还是不同的,TIJ侧重的是java基础,而EJ中会介绍大量的设计模式和最佳编程技巧。所以说这本书的层次比TIJ稍微高一点。这本书比较薄,所以看起来也不会很吃力。
  • 3.深入理解Java虚拟机:前两本书都是介绍java,所以最后一本书我们需要了解java运行的基础,而这本书就是一本很好的材料。JVM族语言是一个大家庭,了解了JVM和字节码,那么你的视野就不再被java语言所限制了,你会了解到更多与Java同族的语言,这些语言比java优美同时又能使用丰富的java类库。
  • 4.Java并发编程:虽然Effective java和Thinking in java中都有花一些时间讲并发,但是里面讲的都不够深入。并发编程是一个非常难的事情,所以需要通过一本专门的书籍来学习。

下面是我看上面几本书写的笔记和总结,大家可以看看我着重看了哪几章,然后根据自己的需求观看书籍。

Thinking in java笔记

Effective java笔记

深入理解Java虚拟机笔记

Java并发编程笔记

Android知识

BAT对于Android知识的要求不仅仅停留在调用表层的API,在面试的时候他们经常会问一些Framwork层面的知识,所以Android Framwork层的源码是必须要看的,但是该看到什么程度呢?这时候就需要一些书籍来对你进行指导,下面的书籍的内容是由浅到深,大家把握一下自己的层次酌情选择。

  • 1.android群英雄传:这本书其实也没有涉及太多的Android源码,但是对一些API有比较深的解读,如果你入门Android已经有1年了,可以读读这本书。
  • 2.android开发艺术探索:这本书就涉及到了很多Android源码了,每一章都会由浅到深,从API的调用讲到具体源码的执行流程,所以读这本书需要一点耐心,建议入门android 2到3年的开发者观看。
  • 3.Android系统源代码情景分析:这本书我也没看多少,里面全是讲Framwork的源码的工作机制甚至还会深入到Linux驱动,所以大家可以选择性观看。

下面是我看上面几本书写的笔记和总结,大家可以看看我着重看了哪几章,然后根据自己的需求观看书籍。

android开发艺术探索笔记

java设计模式知识

设计模式面试的时候不常靠,但是如果问到了,都是必须要回答出来的,要不然很丢分。这里结合Android也介绍一本书

  • Android源码设计模式解析与实战:这本书以Android的源码例子来讲java的设计模式,起到了一举两得的作用,非常适合大家学习设计模式。

下面是我看上面几本书写的笔记和总结,大家可以看看我着重看了哪几章,然后根据自己的需求观看书籍。

Android源码设计模式解析与实战笔记

算法和数据结构知识

算法和数据结构是大家老生常谈的一块,不管什么面试笔试他们都会占据较大的比例。所以这里我就推荐一本书

  • 算法导论:这本书非常厚,里面也有许多艰深的算法知识。我们不需要全部看完,抓住几个章节并用java语言将伪代码全书实现一遍,那么你的算法能力就不会弱。以下是我推荐实现的算法章节
    • 1.第二章 算法基础,算法全部实现,课后题全做
    • 2.第四章 分治策略,算法全部实现,课后题全做
    • 3.第六章 堆排序,算法全部实现,课后题全做
    • 4.第七章 快速排序,算法全部实现,课后题选做
    • 5.第八章 线性时间排序,算法全部实现,课后题选做
    • 6.第九章 中位数顺序统计量,算法全部实现,课后题选做
    • 7.第十章,基本数据结构,没有数据结构基础的人,算法全部实现,课后题选做。有基础略过
    • 8.第十一章,散列表,没有数据结构基础的人,算法全部实现,课后题选做。有基础略过
    • 9.第十二章,二叉搜索树,算法全部实现,课后题选做
    • 10.第十三章,红黑树,算法全部实现,课后题选做
    • 11.第十五章,动态规划,算法全部实现,课后题选做
    • 12.第十六章,贪心算法,算法全部实现,课后题选做
    • 13.第十八章,B树,算法全部实现,课后题选做
    • 14.第二十二章,基本的图算法,算法全部实现,课后题选做
    • 15.第二十三章,最小生成树,算法全部实现,课后题选做
    • 16.第二十四章,单源最短路径,算法全部实现,课后题选做

计算机系统知识

BAT面试的时候有几率会问到计算机系统的知识,比如进程和线程,虚拟内存,文件系统之类的知识。所以需要在这方面补充一下知识。

  • 现代操作系统:这本书挺厚的,所以大家只要看一些常考的知识块就行了:
    • 1.进程和线程
    • 2.内存管理
    • 3.文件管理
    • 4.死锁

下面是我看上面几本书写的笔记和总结,大家可以看看我着重看了哪几章,然后根据自己的需求观看书籍。

现代操作系统部分章节笔记

数据库知识

BAT常常会让一些做java的面试官去面Android,所以此时数据库知识就常常会被当成广度知识来考察面试者。因为我是使用Mysql比较多所以这里就介绍一本书

  • Mysql高性能笔记:这本书也比较厚,所以我们也只需要抓重点来看。重点有以下内容
    • 1.Mysql概述相关章节
    • 2.索引相关章节
    • 3.SQL优化有关章节

计算机网络知识

计算机网络也是BAT面试官常考的地方,这个也是很多人讲烂了的东西,所以就不介绍书籍了,给大家画画重点

  • 1.HTTP相关知识,包括一个Http请求的内部结构,Http各个版本的不同,Http的特性等等。
  • 2.TCP相关知识,包括三次握手、四次挥手、窗口滑动、拥塞控制等等
  • 3.IP相关知识
  • 4.5层和7层网络架构知识,这里只需要了解框架就行,各个层的具体协议除了上面说的其他都不需要特别了解。

Android开源项目知识

在BAT面试的时候,面试官常常会问到项目中使用过什么开源框架,如图片加载框架、HTTP请求框架等等。此时你光会用是远远不够的,你需要将开源框架的架构和源码分析一遍,这样才会给面试官带来好的印象。我这里推荐几个开源框架,大家可以去看看他们的源码,在面试的时候也好有一些说的材料。

  • 1.Http请求框架:Volley、OkHttp、Retrofit、NoHttp
  • 2.图片加载框架:Fresco、Picasso、Glide
  • 3.异步框架:RxJava
  • 4.架构框架:Databinding

下面是我翻译Fresco源代码项目的总结和databinding的源码解析,大家对这个有兴趣的可以看看

从零开始撸一个Fresco之总结

MVVM架构篇之databinding源码解析

相关文章
|
12天前
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
25 2
|
12天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
12天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
25 1
|
1月前
|
消息中间件 NoSQL 网络协议
Java面试知识点复习​_kaic
Java面试知识点复习​_kaic
|
4天前
|
数据可视化 Python
Python模型评估与选择:面试必备知识点
【4月更文挑战第17天】本文深入探讨了Python模型评估与选择在面试中的关键点,包括性能度量、过拟合与欠拟合识别、模型比较与选择、模型融合和偏差-方差权衡。强调了避免混淆评估指标、忽视模型验证和盲目追求高复杂度模型的常见错误,并提供相关代码示例,如交叉验证、网格搜索和超参数调优。通过理解这些概念和技巧,可在面试中展示出色的数据科学能力。
30 12
|
12天前
|
机器学习/深度学习 分布式计算 BI
Flink实时流处理框架原理与应用:面试经验与必备知识点解析
【4月更文挑战第9天】本文详尽探讨了Flink实时流处理框架的原理,包括运行时架构、数据流模型、状态管理和容错机制、资源调度与优化以及与外部系统的集成。此外,还介绍了Flink在实时数据管道、分析、数仓与BI、机器学习等领域的应用实践。同时,文章提供了面试经验与常见问题解析,如Flink与其他系统的对比、实际项目挑战及解决方案,并展望了Flink的未来发展趋势。附带Java DataStream API代码样例,为学习和面试准备提供了实用素材。
34 0
|
13天前
|
分布式计算 资源调度 监控
Hadoop生态系统深度剖析:面试经验与必备知识点解析
本文深入探讨了Hadoop生态系统的面试重点,涵盖Hadoop架构、HDFS、YARN和MapReduce。了解Hadoop的主从架构、HDFS的读写流程及高级特性,YARN的资源管理与调度,以及MapReduce编程模型。通过代码示例,如HDFS文件操作和WordCount程序,帮助读者巩固理解。此外,文章强调在面试中应结合个人经验、行业动态和技术进展展示技术实力。
|
16天前
|
缓存 NoSQL 定位技术
深入探索Redis:面试中必须掌握的关键知识点
深入探索Redis:面试中必须掌握的关键知识点
|
1月前
|
存储 安全 Java
Android 面试题及答案整理,最新面试题
Android 面试题及答案整理,最新面试题
79 2
|
2月前
|
存储 缓存 索引
【数据结构入门精讲 | 第十四篇】散列表知识点及考研408、企业面试练习(1)
【数据结构入门精讲 | 第十四篇】散列表知识点及考研408、企业面试练习(1)
25 0