美文网首页
Android 面试问题集合

Android 面试问题集合

作者: 简简单单敲代码 | 来源:发表于2018-08-10 17:37 被阅读199次

    从年初到现在公司一直在招人,面试也有几十个人。这篇文章总结下我面试一般会问的问题。
    一般我会提前拿到简历,会根据简历的整理出对应的问题,如果能下载到对应开发的 APP,会下载过来,且试用一段时间,有时候会反编译看一下。

    非技术问题

    这块一般是考察面试者的沟通能力,稳定性,全面性。

    • 在公司除了完成业务需求还会做什么?
      会负责项目优化,内存优化,技术调研,参与设计产品讨论等

    • 如何进行项目优化,内存优化,最近做的一个 APP 多大,一般占用多少内存?问题根据前面的回答提出。
      利于各种工具优化,这里的回答大部分都不一样,很多人连最近的 APP 有多少兆大小,内存通常占用多少都不知道,如果不知道这些怎么优化?又如何知道优化了?优化都是有对比的,数据说话

    • 平常怎么打包,会有自动化打包吗?
      这个有的人用过,有的没用过,用过的一般会问怎么搭建,讲一下这个流程(我是用的 Jenkins)

    • 代码管理?
      一般 git 居多,常用命令,分支管理,rebase、merge 区别

    • 日常提高开发、工作效率的方法/工具
      抓包,debug,Android Studio自带的一些工具,番茄工作法,开发前先设计好(很多人开发的时候都是直接敲代码或者画 UI)等

    这块暂时想到了这些,后面想到了再补充。

    技术问题

    我主要是面这个,因为其他方面一般 HR 和后面第二轮技术面试会主要考察,我还是需要看一下专业技术怎么样的,一般Java、Kotlin、Android、设计模式、思想,架构设计上都会问一些。

    • 聊一聊集合
      常用集合的数据结构,优缺点,然后会拿出一个具体的集合类聊一下原理

    • 线程
      一般问了集合就不问线程了,两个挑一个问,多线程,线程状态,线程安全,锁...

    • 聊一聊 Android 的一些坑,设计不足的地方
      版本适配,WebView,厂商适配,推送,地图等等,主要可以看出一个人的经验,和解决问题的能力

    • 组件化/模块化的思路
      这个一般很多人的答的出来,但我会举一些实际列子,比如 支付模块 你如何去设计这模块

    • 聊一聊 Kotlin
      目前我们项目是采用 Kotlin 开发,如果面试者有 Kotlin 经验会聊多一点,为什么使用 Kotlin,异常机制,Kotlin 做架构设计有什么好处,包括一些基础的关键字用法 let,by lazy...一般随意拿出一两个问一下

    • 聊一聊设计模式
      常用设计模式,根据简历写的随便找一个第三方 SDK,聊一聊这个 SDK 采用到了什么设计模式,或者核心的设计模式

    • OOP,AOP等思想
      越是基础的越重要,思想好,写的代码效率好,质量高,易维护

    • MVP,MVC,MVVM架构模式(根据简历问)
      架构模式带来的好处,分这几层各自负责什么,举一个实例说明。比如登录功能如何设计

    以下的问题大部分会对应聘初中级提出

    • 不用第三方,写一个网络请求,核心类,注意点,断点下载如何实现?
      URLConnectionHttpURLConnection,RandomAccessFile相关知识点自行百度

    • activity的启动模式有哪些?是什么含义?

    • activity在屏幕旋转时的生命周期?

    • Handler 机制

    • Activity 启动过程,设计到哪几个核心类

    • APP 启动过程

    • 自定义控件

    • 事件分发

    • 国际化,如果做过需要注意什么,各版本差异

    • 基础算法快速排序,冒泡等

    • 单元测试,自动化测试了解过吗?

    • 精度丢失遇到过吗?如何避免

    小结

    一般面试都会根据简历来的,以上是目前能想到之前问过的问题,应该还有不少遗漏。后面慢慢补充。

    广告

    我司还正在火热招人包含但不限于 Android,另外有Go,Java,iOS,产品,测试等在招聘,可内推欢迎来稿~

    相关文章

      网友评论

          本文标题:Android 面试问题集合

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