新書推薦:
《
无冕之王:齐桓公与齐国崛起
》
售價:NT$
290.0
《
中国涉外法治蓝皮书(2024)
》
售價:NT$
484.0
《
黄庭经详解(全2册)
》
售價:NT$
660.0
《
台北故宫博物院典藏大系·绘画卷(全十册)
》
售價:NT$
47400.0
《
姑苏繁华图
》
售價:NT$
3190.0
《
人的消逝:从原子弹、互联网到人工智能
》
售價:NT$
484.0
《
想象的共同体--民族主义的起源与散布(增订版)
》
售價:NT$
352.0
《
医学图形图像处理基于Python VTK的实现
》
售價:NT$
760.0
|
編輯推薦: |
详细分析Android核心组件、面试真题,揭开华为、小米等知名企业Android面试的机密
细分Android面试例题,帮助读者查遗补漏,重点攻破,事半功倍
附赠全书代码,增加Java扩展知识,由点成线,举一反三,传授灵活应用Android及面试关键技巧
|
內容簡介: |
《Android程序员面试笔试宝典》覆盖了Android开发中的各个主要方面,所给出的试题均取材于各大IT公司的Android面试真题。全书分为Java部分与Android部分。因为Android开发是用Java语言来编写的,所以这里所讲的Java知识都是基础方面,而且跟Android开发有关的其他基础知识都会在Java部分进行讲解。而Android部分,则从面试中经常考的知识点入手,对Android进行全面的学习,对常见面试真题进行分析与讲解,培养读者解决面试题思路的同时,也能系统学习到Android开发。
《Android程序员面试笔试宝典》内容丰富,讲解思路清晰且详细,涵盖的知识点非常多,不但是一本用来解决程序员面试的Android实用工具书,也是一本适合任何Android开发者学习的好书。
|
目錄:
|
前言
第1章四大组件1
1.1活动1
1.1.1生命周期1
1.1.2启动模式2
1.1.3碎片5
1.1.4常见面试笔试真题6
1.2服务17
1.2.1Android线程17
1.2.2生命周期17
1.2.3服务类型18
1.2.4Handler机制18
1.2.5常见面试笔试真题19
1.3广播接收器26
1.3.1动态注册与静态注册26
1.3.2广播类型26
1.3.3发送广播27
1.3.4常见面试笔试真题28
1.4内容提供者30
1.4.1系统ContentProvider31
1.4.2自定义ContentProvider31
1.4.3常见面试笔试真题32
第2章布局及其常用属性36
2.1常用的几种布局36
2.1.1线性布局36
2.1.2帧布局37
2.1.3相对布局37
2.1.4约束布局38
2.2常见面试笔试真题40
第3章自定义View及ViewGroup42
3.1自定义View42
3.1.1onMeasure43
3.1.2onDraw44
3.2自定义ViewGroup45
3.3常见面试笔试真题48
第4章动画65
4.1View动画65
4.1.1透明度动画(AlphaAnimation)65
4.1.2缩放动画(ScaleAnimation)66
4.1.3平移动画(TranslateAnimation)67
4.1.4旋转动画(RotateAnimation)68
4.1.5AnimationSet69
4.2属性动画70
4.3常见面试笔试真题74
第5章数据库框架83
5.1文件流83
5.2SQLite85
5.2.1创建与更新数据库85
5.2.2添加数据86
5.2.3删除数据87
5.2.4修改数据87
5.2.5查询数据87
5.3LitePal88
5.3.1使用前准备工作88
5.3.2创建与升级数据库89
5.3.3添加数据91
5.3.4修改数据91
5.3.5删除数据93
5.3.6查询数据93
5.4常见面试笔试真题95
第6章网络框架104
6.1关于HTTPHTTPS的基础知识104
6.1.1HTTP请求方式104
6.1.2HTTP报文104
6.1.3首部(Header)105
6.1.4HTTP缓存106
6.2OkHttp108
6.2.1Get请求108
6.2.2Post请求109
6.2.3文件上传109
6.2.4结合GSON框架来解析返回结果110
6.3Retrofit112
6.4常见面试笔试真题114
第7章Rxjava119
7.1Rxjava的优点119
7.2Rxjava原理119
7.3Rxjava的使用120
7.4操作符121
7.4.1创建操作符121
7.4.2转换操作符124
7.4.3组合操作符124
7.4.4功能操作符127
7.4.5过滤操作符135
7.4.6条件操作符138
7.5常见面试笔试真题140
第8章事件分发机制142
8.1触摸事件的方法143
8.2Activity事件分发143
8.3ViewGroup与View事件分发144
8.4常见面试笔试真题148
第9章MVC、MVP与MVVM151
9.1MVC151
9.2MVP153
9.3MVVM157
9.4常见面试笔试真题158
第10章图片加载框架161
10.1Glide161
10.2ImageLoader162
10.3Picasso162
10.4常见面试笔试真题163
第11章性能优化与跨进程通信165
11.1性能优化165
11.1.1布局优化165
11.1.2绘制优化167
11.1.3内存优化168
11.1.4包优化169
11.1.5Bitmap优化169
11.2跨进程通信170
11.2.1进程与线程170
11.2.2Android的IPC170
11.3常见面试笔试真题172
第12章Java基础知识175
12.1基本概念175
12.1.1Java语言有哪些优点?175
12.1.2Java与CC++有何异同?175
12.1.3为什么需要public static void mainString[] args这个方法?176
12.1.4如何实现在main函数执行前输出“Hello world”?178
12.1.5Java程序初始化的顺序是怎样的?178
12.1.6Java中作用域有哪些?180
12.1.7一个Java文件中是否可以定义多个类?181
12.1.8什么是构造方法?181
12.1.9为什么Java中有些接口没有声明任何方法?183
12.1.10Java中clone方法有什么作用?185
12.1.11反射190
12.1.12package有什么作用?194
12.1.13Java如何实现类似于C语言中函数指针的功能?194
12.1.14本地变量类型推断196
12.1.15常见面试笔试真题200
12.2面向对象技术202
12.2.1面向对象与面向过程有什么区别?202
12.2.2面向对象有哪些特征?203
12.2.3面向对象的开发方式有什么优点?203
12.2.4什么是继承?204
12.2.5组合与继承有什么区别?204
12.2.6多态的实现机制是什么?205
12.2.7Overload和Override有什么区别?207
12.2.8abstract class(抽象类)与interface(接口)有何异同?207
12.2.9内部类有哪些?209
12.2.10如何获取父类的类名?211
12.2.11this与super有什么区别?212
12.2.12常见面试笔试真题213
12.3关键字216
12.3.1变量命名有哪些规则?216
12.3.2break、continue以及return的区别是什么?216
12.3.3final、finally和 finalize有什么区别?218
12.3.4assert有什么作用?220
12.3.5static关键字有哪些作用?220
12.3.6switch使用时有哪些注意事项?224
12.3.7volatile有什么作用?226
12.3.8instanceof有什么作用?230
12.3.9strictfp有什么作用?230
12.3.10常见面试笔试真题231
12.4基本类型与运算231
12.4.1Java提供了哪些基本的数据类型?231
12.4.2什么是不可变类?233
12.4.3
|
內容試閱:
|
不知不觉已经过了半年,而在这半年里我跟另一位伙伴顺利完成了这本关于Android(安卓)面试方面的技术书。虽然编写过程辛苦,但一想到可以把自己一直以来总结的知识与经验分享给大家,就有种莫名的兴奋感,这也是我们撰写本书的初衷,希望能对正在学习安卓的或者决定要学习安卓开发的朋友有所帮助,哪怕是只有一点,只要能帮助到各位,这样也足矣。
回想大学毕业时,还没确定好自己该往哪个方向去走向编程这个10世界,因为马上又是求职季,感觉自己Java基础还行,所以从此就选择安卓开发这条路了。直到现在,自己虽然早已不是当初那个懵懂的菜鸟,但在安卓开发上,也一直碰到很多问题。庆幸的是,我都坚持下来,一直系统地学习安卓知识,锻炼自己的编程能力,不断积累自身的项目经验。
所以我始终认为,要学习好安卓,或者是其他编程语言,都要坚持。再一个就是要选对方法,怎样在学习的过程中避坑,而不是一股脑地坚持就行了。我开始学习安卓的那段时期经常会不明所以然,后来自己不断去看相关书籍和网上的大神写的技术文章,这才知道是因为自己关于安卓的知识面太窄了,限制了我的思维。可是就算知道自己知识面窄又能怎样,毕竟一个人的知识体系并不能一下子就丰富起来。所以这时我想到了可以先收集安卓开发中各种知识点的简介,因为通常这些简介都涵盖了对各种知识点的作用的描述,然后我再把它们制作成思维导图,这样虽然不能短时间把所有知识都琢磨透,但起码让我知道它们是干什么的,有什么用,这样我脑海中就形成了一个框架,能把开发中的知识点串联起来,就不会再有那种迷惘感,学习起来也更加高效了。先宏观了解大概,让自己有个知识框架,然后过关斩将,循序渐进地攻克每一个知识点。
最后,既然是从事开发工作,那就一定要实践,编程能力才是你的核心竞争力,努力写好你的代码。
本书内容
本书涵盖了Java基础、Android四大组件(Activity、Service、ContentProvider和BroadcastReceiver)、布局、自定义View、动画框架、常用的第三方框架(Rxjava、Retrofit、OkHttp和Glide等)、消息异步机制、事件分发机制、MVCMVPMVVM和跨进程通信等知识点的讲解,这些知识点不仅在面试的时候经常考察,在实际开发中也是经常要用到的。所以本书将着重详细讲解它们,让大家能切实理解,务必让看本书的读者能培养自己思考问题的思路。毕竟随着技术的发展与进步,安卓开发所涉及的东西也会越来越多,这样公司对面试者的要求也会越来越高,考核的面试题的内容和难度也会随之变多与加深。但是,万变不离其宗,只要掌握了每个知识点以及它的解题思路,那么不仅能用于面试,在开发上也会水到渠成。而本书正是基于这样的目的来讲解有关安卓开发中的知识以及面试题。
致谢
直到现在,我还不敢相信自己能完成本书的撰写。这半年的时间,要感谢的人太多,没有他们,我恐怕是完成不了本书的。
首先,我要在这里感谢《Java程序员面试笔试宝典》的作者何昊先生与薛鹏先生。当初,我还是一名默默无闻的安卓码农,在微信公众号上偶尔发表一些自己总结的技术文章。何昊先生在看了我公众号上的文章后,邀我写一本关于安卓面试方面的书,而我也最终在他的鼓励下踏上了写书的道路。薛鹏先生也在我编写本书的过程中给予了很大的帮助。还有,机械工业出版社计算机分社时静副社长与尚晨编辑,感谢你们为本书给出的建议与帮助。
其次,我要感谢我的父母,因为没有你们背后的支持与理解,我是完成不了本书的编写。
最后
尽管我们已经尽力去编写了,但毕竟精力有限,可能也会在某些知识的讲解过程中出现纰漏与错误,恳请读者批评指正,也希望大家能将发现的问题向我反馈,不胜感激。除此之外,也欢迎大家与我联系,交流安卓或者编程相关的问题。
编者
|
|