大厂Android岗面试,居然还问这些问题!受教了!

  1. 界面上的话,有什么优化措施么?比如列表展示之类的,平时遇到过内存问题吗,怎么优化的?

  2. 平时用过哪些设计模式?

Second:

  1. 介绍下最近一年主要做了什么工作

  2. 会对简历上突出的技能进行详情的询问:比如:音频合成的具体步骤,以及遇到的一些问题和细节处理。 会根据面试发散一些问题,问到,seek方法播放到末尾后重新播放会有一些卡顿的不流畅问题,怎么避免,从交互设计或者技术角度。(个人表示没怎么关注这种)。

  3. 项目团队多少人,怎么分配工作

  4. 线程之间怎么通信的?

  5. app的架构是怎么样的,并且为什么这样,有什么优缺点?

  6. 算法熟悉么?给了一个二叉排序树,出了一个给定节点找到它的下一个元素(指的是大小顺序的下一个)的算法题。

  7. 为什么找工作,自己的优势是什么

Third:

  1. 技术问题不再局限于简历,可能根据简历和回答情况渐进并扩散。

  2. 感觉各个技术面试官之前并没有沟通,可能会问到类似的问题

  3. 介绍下自己主要负责的工作

  4. Activity的生命周期有哪些,知道onRestart么,介绍下

  5. savedInstanceState知道么,干什么用的,什么时候有值,什么时候为空,平时是怎么用的

  6. View绘制熟悉么,介绍下,能说下是实现原理么?

  7. 平时用过什么开发工具,分析工具?

  8. ANR是怎么回事?怎么查?Service会引起ANR么?

  9. Activity的启动模式有哪些?栈里是A-B-C,先想直接到A,BC都清理掉,有几种方法可以做到?这几种方法产生的结果是有几个A的实例?

  10. 有什么工具可以看到Activity栈信息么?多个栈话,有方法分别得到各个栈的Activity列表么

都熟悉哪些命令?知道怎么用命令启动一个Activity么?

  1. SharedPrefrences的apply和commit有什么区别

  2. java里带$的函数见过么,是什么意思

  3. MD5是加密方法么,Base64呢

  4. 有博客和github,主要是写的什么?有哪些关注

  5. android 8.0 有哪些新特性

  6. 差不多就这些吧。。最后每个面试官都会让你问他问题。

某公司


  1. glide缓存策略?同一个图片跟size有关么

  2. android中的动画有哪些

  3. View事件传递机制

  4. 界面卡顿怎么排查和优化?

  5. Fragment的replace和end??的区别?

  6. MVP,MVVM,MVC解释和实践

  7. 项目之外的,对技术的见解,拓展知识

二面:


  1. 微信跳一跳外挂怎么实现,检测怎么做的?

  2. 一张纯色背景下怎么有效检测各个矩形?

  3. 对接的so算法了解么,有接触过相关的库么?

  4. 三个算法题选一个并写出测试用例:打印n-m之间所有的素数;计算n-m之间1出现的次数;指定数字序列的排序;

  5. android api层的源码熟悉哪些?解释一下

  6. ACTION_CANCEL什么时候触发,触摸button然后滑动到外部抬起会触发点击事件吗,在+ + 滑动回去抬起会么

  7. 怎么处理嵌套View的滑动冲突问题

  8. 热修复相关的原理,框架熟悉么

  9. gradle打包流程熟悉么

  10. 任意提问环节:其实可以问之前面试中遇到的问题:比如,多模块开发的时候不同的负责人可能会引入重复资源,相同的字符串,相同的icon等但是文件名并不一样,怎样去重?

NetBase:


  • Canvas的底层机制,绘制框架,硬件加速是什么原理,canvas lock的缓冲区是怎么回事

  • surfaceview, suface,surfacetexure等相关的,以及底层原理

  • android文件存储,各版本存储位置的权限控制的演进,外部存储,内部存储

  • 上层业务activity和fragment的遇到什么坑??页面展示上的一些坑和优化经验

  • 网络请求的开源框架:OKHttp介绍,写过拦截器么

Netbase:AI


  • 数据层有统一的管理么,数据缓存是怎么做的,http请求等有提供统一管理么?

  • 有用什么模式么,逻辑什么的都在Activity层?怎么分离的

  • 如果用了一些解耦的策略,怎么管理生命周期的?

  • 有什么提高编译速度的方法?

  • 对应用里的线程有做统一管理么?

  • jni的算法提供都是主线程的?是不是想问服务类的啊

  • 边沿检测用的啥?深度学习相关的有了解么?

  • 上线后的app性能分析检测有做么

YZ


  • 进程间通信方式?Binder的构成有几部分?

  • HttpClient和HttpConnection的区别

  • View的事件传递机制

  • MVC,MVP,MVVM分别是什么?

  • Android中常用的设计模式,说三个比较高级的?

  • 内存优化,OOM的原因和排查方法

  • 想改变listview的高度,怎么做

  • Https是怎么回事?

  • 除了日常开发,其他有做过什么工作?比如持续化集成,自动化测试等等

DD


  • ActivityA跳转ActivityB然后B按back返回A,各自的生命周期顺序,A与B均不透明。

  • Synchronize关键字后面跟类或者对象有什么不同。

  • 单例的DCL方式下,那个单例的私有变量要不要加volatile关键字,这个关键字有什么用

  • JVM的引用树,什么变量能作为GCRoot?GC垃圾回收的几种方法

  • ThreadLocal是什么?Looper中的消息死循环为什么没有ANR?

  • Android中main方法入口在哪里

  • jdk1.5?SparseArray和ArrayMap各自的数据结构,前者的查找是怎么实现的,与HashMap的区别

  • Runnable与Callable、Future、FutureTask的区别,AsyncTask用到哪个?- AsyncTask是顺序执行么,for循环中执行200次new AsyncTask并execute,会有异常吗

  • IntentService生命周期是怎样的,使用场合等

  • RecyclerView和ListView有什么区别?局部刷新?前者使用时多重type场景下怎么避免滑动卡顿。懒加载怎么实现,怎么优化滑动体验。

  • SQLite的数据库升级用过么

  • 开放问题:如果提高启动速度,设计一个延迟加载框架或者sdk的方法和注意的问题。

  • Scroller有什么方法,怎么使用的。

  • 分享下项目中遇到的问题

  • webwiew了解?怎么实现和javascript的通信?相互双方的通信。@JavascriptInterface在?版本有bug,除了这个还有其他调用android方法的方案吗?

  • ReactiveNative了解多少

  • JNI和NDK熟悉么?Java和C方法之前的相互调用怎么做?

几点建议


1、简历要如实写,相关的知识点一定要烂熟于心。

2、基础扎实,android和java相关的知识树网上有很多资料,看过但让你讲出来未必能说的好。

3、提前总结,你还擅长什么其他技术?这种开放问题要看知识面了。

4、学会提问,你有什么问题要问我吗?这种礼貌性问题也是一个了解对方的好机会。

5、良好的心里素质,无论遇到什么情况,面试官迟到、面试官态度冰冷说话不客气、质疑你的回答等等各种问题都不要慌也不要排斥,一定要沉住气,耐心积极的思考并回答对方的提问。

6、推荐几本书,也是好几次面试后发现里面涵盖了大部分答案。《Android开发艺术探索》《Android源码设计模式-解析与实战》《Android进阶之光》《深入理解Java虚拟机》《Android音视频开发》《Android进阶解密》多看几遍。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值