记一次 Android 面试

最近老同事给内推了链家网的 Android 职位,由于时间仓促,加上近半年多一直处于忙碌地开发状态中,还没能复习便接到了电话面试。

虽然大部分问题都答上来了,原理性的问题基本都把大体流程说出来了,但是时间间隔太久不少具体细节记不太清了,描述得不够详细,因此并没能达到面试官的期望值。

对于自己的表现,基本在自己的预期中,谈不上好,也谈不上太差,还算中规中矩,只是一面都没过,自己还是挺失落的(自己真的是有点自信过了头,觉得不复习也能轻松过一面 o(╥﹏╥)o )

之前在内推的简历前还特意对一些项目的功能实现加了些描述,因为功能其实挺复杂的,需要结合很多知识点,并且自己做了最大化的优化,遗憾的是面试官竟然没有问到任何一个跟项目相关的问题(这点跟我面试别人的时候完全不同,我喜欢根据项目去拓展问题)。

总的来说面试的问题并不是太难,但是需要静下心来花时间好好复习,趁着面试刚过去两三天,还能记得大部分面试问题,抽了些时间将电话面试中的问题做了下整理(后续会补上答案),方便自己后续复习,也希望能帮助到大家。

题目整理

  1. StringBuilder 和 StringBuffer 区别

StringBuilder 跟 StringBuffer 一样,都是用来处理可变的字符序列 , 区别在于 StringBuilder 是线程不安全的 ,而 StringBuffer 是线程安全的
在运行效率上,StringBuilder 比 StringBuffer 要高, 因此在不考虑线程安全的情况下,推荐使用 StringBuilder。

  1. String 在 jvm 中的设计原理

深入理解Java:String

  1. synchronized Lock 区别

详解synchronized与Lock的区别与使用
深入研究 Java Synchronize 和 Lock 的区别与用法

  1. java 中 sleep() 跟 wait() 区别,项目中 Thread sleep 的应用场景
  • sleep() 属于 Thread 类
    线程调用此方法后,会休眠一段时间,休眠期间,会暂时释放cpu,但并不释放对象锁
  • wait() 属于 Object 类
    释放占有的对象锁,线程进入等待池,释放cpu,而其他正在等待的线程即可抢占此锁,获得锁的线程即可运行程序
  1. sychronized 锁住方法后方法能被中断吗?

不能被中断,Lock 可以被中断

  1. java 中 final 修饰方法和修饰类的作用

  2. ArrayList 和 LinkedList 区别

  1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
  2. 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
  3. 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
  1. ArrayList 的实现原理,是否允许数据重复

Java集合---ArrayList的实现原理

  1. Java 动态代理 Proxy 类的使用

详解java动态代理机制以及使用场景(一)

  1. Java的反射机制,原理,应用场景,getDeclaredField和getField 的 区别

  2. java 单例设计模式,双重检测写法中两个判空的原因

  3. Android 整个界面布局,父子组件的绘制流程以及单个子 View 的绘制流程

  4. Android 事件分发机制原理相关代码,如何处理父子布局的嵌套滚动

  5. 自定义 View 中,onMeasure 中 MeasureSpec 的 Spec 有几种类型, 以及他们的作用,在其值为 EXACTLY 的情况下, 当子 View 超过父 View 大小时, 返回的宽高值是什么,是否会超过父布局

  6. Activity 的启动渲染流程, AMS, ActivityThread 相关概念

  7. Android 解析 XML 有几种方式? LayoutInflate 是如何解析 XML 并创建对象的(面试官是想问这里用的反射的方式创建的对象)

  8. Android 中代理模式的应用场景

  9. Android 中 Binder 的原理机制, 其中 ServiceManager 传递给 Client 的进程是否为真实进程

  10. Android 中 Handler 的原理机制

  11. Android 中 Service 的概念, IntentService 和 Service 区别,在 IntentService 中是否需要手动终止 Service, Service 的使用场景

  12. Android 中跨进程通信的方式, 应用场景, aidl 相关概念

  13. Dalvik 和 JVM 的区别

1.Dalvik指令集是基于寄存器的架构,执行特有的文件格式——dex字节码(适合内存和处理器速度有限的系统)。而JVM是基于栈的。相对于基于栈的JVM而言,基于寄存器的Dalvik VM实现虽然牺牲了一些平台无关性,但是它在代码的执行效率上要更胜一筹。
2.每一个Android 的App是独立跑在一个VM中的。因此一个App crash只会影响到自身的VM,不会影响到其他。Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行。

  1. pathclassloader, dexclassloader 区别

DexClassLoader和PathClassLoader的区别

  1. Android 插件化的实现原理机制

  2. Android 热修复的主流框架对比及实现原理

  3. 一个界面中需要请求多个接口,所有接口数据获取后再进行界面渲染,请问如何来实现

  4. RxJava 中 merge, zip 的实现原理

  5. 自定义 View 中如何实现圆形图片

  6. 说说你常用的图片框架以及实现原理(glide, fresco)

  7. Android 中 65535 问题中 MultiDex 的实现原理

  8. Android 中内存泄漏的常见场景(我回答了项目中遇到的非静态内部类/匿名内部类,Handler,异步操作引用了 Context,面试官多次询问是否还有其他场景后补充了自定义 View 中 TypeArray 使用后未调用 recycle()方法也会泄漏)

  9. Android 中如何开启新的进程,Manifest 中 process 参数命名加 “:” 什么作用

  10. 如何快速将一个单向链表反序操作

  11. 冒泡排序的实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容