美文网首页AndroidWorld半栈工程师面试
2018 Android面试题总结经验

2018 Android面试题总结经验

作者: xiaoChannel | 来源:发表于2018-07-07 20:31 被阅读409次

    前言

    最近离职了,目前在上海,前后面试了几家公司,有Offer的,也有很多🙂。有的不想去,有的面试不好,做了四年的android了,2家公司都是2年一骚,想休息一下,同时现在想找个正经的互联网公司,自己抽空学习了很多,如C++,ES6,RN等等,希望能真正实战到项目中。到面试的时候,才发现,android基本知识忘却了很多(面试的时候说的不太清楚),上家公司做的项目,框架搭建完善,怎么简单怎么来,话说当时也没有怎么去写一下自己的笔记,毕竟找的是android工作,试了下水,还是觉得,既然找android,还是稳住几天回顾下功课,免得遇见喜欢的公司面试不好,毕竟候选人那么多,有的人文凭好,优势,大公司更加要求高。

    以后打算开始写点笔记,积累下东西吧,就从面试,一个新的开始。

    好吧,进入正题,Android知识图谱。


    20170528132642034.png

    面试,更多的是问基础知识,毕竟基础不好更别说延伸了,聘请中高级的安卓开发往深的去问,framework层,数据结构,Hybrid开发等等

    基础知识 – 四大组件
    这个就不多说了基础入门只是,但是还是要看下的,面试的时候会问,要说清楚,别简要的概括。

    Activity的启动过程(不要回答生命周期)
    http://blog.csdn.net/luoshengyang/article/details/6689748

    Activity的启动模式以及使用场景
    (1)manifest设置,(2)startActivity flag
    http://blog.csdn.net/CodeEmperor/article/details/50481726
    BroadcastReceiver
    https://www.jianshu.com/p/ca3d87a4cdf3

    service 生命周期和启动方式
    https://blog.csdn.net/jiaohanhan/article/details/71880914

    数据持久化 – SQLite,SharedPreferences,ContentProvider
    主要的还是ContentProvider
    https://www.jianshu.com/p/ea8bc4aaf057

    java基础 – 数据结构, 多线程编程,mvc,mvp框架,设计模式
    与mvc之间的区别,mvp的优势
    http://blog.csdn.net/lmj623565791/article/details/46596109
    设计模式(单例,工厂,观察者。作用,使用场景)
    一般说自己会的就ok,不要只记得名字就一轮嘴说出来,不然有你好受。
    http://blog.csdn.net/jason0539/article/details/23297037/
    此处延伸:Double Check的写法被要求写出来。
    String,Stringbuffer,Stringbuilder 区别
    http://blog.csdn.net/kingzone_2008/article/details/9220691
    ConurrentHashMap和Hashtable的区别
    https://blog.csdn.net/wangxing233/article/details/79452946
    多线程编程问的很多。思路清晰一些回答。
    https://blog.csdn.net/fang323619/article/details/73904351
    如果你还有多线程优化了解的东西
    https://www.cnblogs.com/bugly/p/5519510.html

    手写算法(选择冒泡必须要会)
    http://www.jianshu.com/p/ae97c3ceea8d

    通信 – 网络连接(HttpClient,HttpUrlConnetion),Socket
    HTTP协议原理
    https://blog.csdn.net/itachi85/article/details/50982995

    Socket是很大几率必问的,没做过,但是也要清楚他的原理
    https://www.jianshu.com/p/fb4dfab4eec1

    性能优化 – 布局优化,内存优化,电量优化,OOM检测与优化
    2015年伊始,Google发布的关于Android性能优化典范的专题
    https://blog.csdn.net/love_techlive/article/details/52787153
    内存优化
    https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ
    https://blog.csdn.net/guolin_blog/article/details/42238627
    加载大图
    http://blog.csdn.net/lmj623565791/article/details/49300989
    三级缓存(各大图片框架都可以扯到这上面来)
    (1)内存缓存,(2)本地缓存,(3)网络
    内存:http://blog.csdn.net/guolin_blog/article/details/9526203
    本地:http://blog.csdn.net/guolin_blog/article/details/28863651
    android LruCache
    https://www.jianshu.com/p/b49a111147ee

    进程保活(不死进程)
    http://www.jianshu.com/p/63aafe3c12af
    此处延伸:进程的优先级是什么(下面这篇文章,都有说)
    https://segmentfault.com/a/1190000006251859

    安全 – 数据加密,代码混淆,WebView/Js调用,https与http的区别
    https与http的区别必须掌握,没用过的话,自己可以尝试一下
    https://blog.csdn.net/lyhjava/article/details/51860215
    WebView与js交互(调用哪些API)**
    http://blog.csdn.net/cappuccinolau/article/details/8262821/

    UI– 动画,自定义view,事件分发机制
    Android事件分发机制详解:史上最全面、最易懂
    https://www.jianshu.com/p/38015afcdb58
    自定义view
    https://www.jianshu.com/p/146e5cec4863
    以下两个讲解都讲得很透彻,这部分面试官多数不会问很深,要么就给你一个效果让你讲原理。
    (1)http://www.gcssloop.com/customview/CustomViewIndex
    (2)http://blog.csdn.net/yanbober/article/details/50577855

    其他 – JNI,AIDL,Handler,Intent,context等
    讲解一下Context
    http://blog.csdn.net/lmj623565791/article/details/40481055
    JNI
    http://www.jianshu.com/p/aba734d5b5cd
    此处延伸:项目中使用JNI的地方,如:核心逻辑,密钥,加密逻辑

    RecyclerView
    我之前面试人时候,这个都没用过还在用listView的话,嘿嘿嘿。。。。
    http://blog.csdn.net/lmj623565791/article/details/45059587

    开源框架 -Gilde,Retrofit + RxJava + OkHttp等
    简历上写你会的,用过的,如果技术面试的时候有时候他回一些刁钻的问题,有一次就有人问Gilde的默认加载格式,Emmmmm....想不起来当时- -..... 还有问Retrofit 源码设计模式,和返回的是什么。所以还是要去看看源码讲解的。

    Retrofit :
    https://www.jianshu.com/p/0c055ad46b6c

    第三方SDK
    拓展 – Android6.0/7.0/8.0特性,kotlin语言,I/O大会,ES6,FFMGEG,OPENGL ES,c++
    NDK 注册方式,以及Cmake( 这个问的少,你要应聘职位需求),framework层的了解等

    总结

    好了,大概就这些。虽然大家工作都简单化工作,框架什么搭建好封装号,很容易长时间忘记基础的东西。如果都能详细的将清楚的话,那就基本稳了,记得要思路清晰,哈哈,我也打算全都整理好,然后一个一个的自己的巩固和理解,最好不要死记硬背,要去理解,以自己的理解去讲解清楚,面试官一般面试那么多,其实听的话如果是套语其实,很容易犯困的。

    语速最好慢点,说清楚最重要的,这个能说明你的技术和基础水平的问题。
    上海这边面试貌似可以不带简历,开始我打算准备的,后来发现他们都有猪呢比的,但是最好还是带着,或者你提前问好HR需要带简历不,不需要就不用带了,他们自己会打印。

    ps: 工作多久技术再牛叉,还是要礼貌待人,嫌弃诚恳,不要吹自己多牛逼,毕竟世界这么大,大牛多的是,有时候你跟那些技术比你好很多的人聊天你就会感觉到很亲切和舒适。一些CTO 有goole 工作过的,有阿里P8的,由华谊回归的,跟他们聊天实话,蛮是开心的,沟通的时候就可以学习到他们个人优点。好了,就这样吧。

    相关文章

      网友评论

      • 苏村的南哥:内容另说,就这张思导图看了不下于十篇博客。
      • Hiapk_Metal:Goo是不是怕屏蔽
      • 65f3933d18d1:就冲你的会心的嘿嘿嘿。。给你点个赞
      • 天道__:我也和你一样的情况
        xiaoChannel:哈哈。。。很尴尬有时候。都怀疑人生了。祝你好运。

      本文标题:2018 Android面试题总结经验

      本文链接:https://www.haomeiwen.com/subject/eepguftx.html