美文网首页
Android技术面试的三个坑,很多人都遇到过

Android技术面试的三个坑,很多人都遇到过

作者: 进击的老六 | 来源:发表于2023-09-10 15:52 被阅读0次

    之前跟大家分享过很多次,关于技术面试要做什么准备,今天谈谈Android 程序员在面试时,应该尽量避免的坑。

    1、不要过分夸大

    说真的,你有多久没和技术专家交流过?

    如果你简历上有提到自己是某个技术方向的专家或者在面试时说自己精通哪些技术,只要面试官对这方面有了解,那么他一定会测试你的精通程度。

    只要有一点你没答上来,他就会开始怀疑你简历的真实性。

    不要夸大自己的专业知识。不完全了解的东西,宁可不写。

    2、不要为失败找借口

    技术面试出现卡壳是常有的事,大部分情况下,面试官都能理解。

    我之前就说过,如果面试遇到你一时解答不了的问题,不要钻牛角尖,大家时间都宝贵,在有限的时间里,说出你的思路,你可能解决问题的方式,它不一定是正确的,但能表达你这个人思考问题的方式。

    面试官不一定都是看结果,思考过程同样重要。

    有很多问题,其实没有标准答案,换种方式,问题一样能被解决。

    所以思路比答案本身可能更重要。毕竟工作中,大部分问题并不能一下子就找到答案。

    但千万不要给面试官解释你为什么答不上来,为什么没准备好,或者说为什么对这部分问题不了解。

    这只会让面试官觉得你在逃避问题,逃避面试错误。最好的方式是,说明自己的不懂,但也给出可能的解决思路。

    不卑不亢,是一种面试美德。

    3、不要说上家公司的坏话

    不要为了表现出想进新的公司,就去踩你的上家公司,这是一种很不专业的行为。

    面试官普遍会问一个问题:为什么要从现在的公司离职?

    真实原因或许是:薪资没到位、公司平台小、领导能力不行、同事不好相处、几次晋升都失败等等,但这些原因,都不要说。

    比如你可以这么说:

    你在上家公司工作很开心,学到了很多东西,但是成长速度变慢了,你期望有更大的、不同的挑战。

    总之,别去贬低你的上家。互联网圈子其实挺小的。

    最后分享一句我很喜欢的话:“要成功不需要什么特别的才能,只要把你能做的小事做好就行了。“

    很多时候,面试靠的也是一些细节亮点,可能对方就记住你了。

    Java部分

    • 操作系统相关
    • JDK&JVM&JRE
    • 面向过程 & 面向对象
    • 八大基本数据类型&引用类型
    • 数组
    • Java异常
    • 集合(容器)
    • 线程
    • 泛型
    • 反射
    • 注解
    • Socket编程
    • 设计模式
    • JVM相关

    Android部分

    Activity

    • 典型情况下的Activity生命周期?
    • 异常情况下的Activity的生命周期 & 数据如何保存和恢复?
    • 从Activity A跳转到Activity B之后,然后再点击back建之后,它们的生命周期调用流程是什么?
    • 如何统计Activity的工作时间?
    • Activity的启动模式 & 使用场景
    • 如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity?
    • Activity的启动流程(从源码角度解析)?
    • Activity任务栈是什么?在项目中有用到它吗?说给我听听

    BroadcastReceiver

    • 广播是什么?
    • 广播的注册方式有哪些?
    • 广播的分类 & 特性 & 使用场景?

    ContentProvider

    • 什么是内容提供者?
    • 说说如何创建自己应用的内容提供者 & 使用场景
    • 说说ContentProvider的原理
    • ContentProvider,ContentResolver,ContentObserver之间的关系
    • 说说ContentProvider的权限管理

    Service

    • 什么是Service?
    • 说说Service的生命周期
    • Service和Thread的区别?
    • Android 5.0以上的隐式启动问题及其解决方案。
    • Service保活方案
    • IntentService是什么 & 原理 & 使用场景 & 和Service的区别。
    • 创建一个独立进程的Service应该怎样做?

    Handler

    • 子线程一定不能更新UI吗?
    • 给我说说Handler的原理
    • Handler导致的内存泄露你是如何解决的?
    • 如何使用Handler让子线程和子线程通信?
    • HandlerThread是什么 & 原理 & 使用场景?
    • 一个线程能否创建多个Handler,Handler和Looper之间的对应关系?
    • 为什么Android系统不建议子线程访问UI?

    AsyncTask

    • AsyncTask是什么?能解决什么问题
    • 给我谈谈AsyncTask的三个泛型参数作用 & 它的一些方法作用。
    • 给我说说AsyncTask的原理
    • 你觉得AsyncTask有不足之处吗?

    Fragment

    • Android中v4包下Fragment和app包下Fragment的区别是什么?
    • Fragment的生命周期 & 请结合Activity的生命周期再一起说说。
    • 说说Fragment如何进行懒加载。
    • ViewPager + Fragment结合使用会出现内存泄漏吗 & 如何解决?
    • Fragment如何和Activity进行通信 & Fragment之间如何进行通信?
    • 给我谈谈Fragment3种切换的方式以及区别 & 使用场景。

    文件存储

    • 说说Android中数据持久化的方式 & 使用场景
    • 接触过MMKV吗?说说SharedPreference和它的区别
    • 第三方数据库框架用过哪些?有没有自己封装过一个SQLite的库
    • SQLite是线程安全的吗 & SharedPreference是线程安全的吗?
    • 请简单的给我说说什么是三级缓存?
    • SharedPreference的apply和commit的区别
    • 谈谈你对SQLite事务的认识

    ListView & RecyclerView

    • ListView是什么?如何使用?
    • RecyclerView是什么?如何使用?如何返回不一样的Item。
    • ListView和RecycyclerView的区别是什么?
    • 分别讲讲你对ListView & RecyclerView的优化经验。
    • 给我说说RecyclerView的回收复用机制
    • 说说你是如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制
    • 谈谈你是如何对ListView & RecycleView进行局部刷新的?

    图片编程

    • 你对Bitmap了解吗?它在内存中如何存在?
    • 有关Bitmap导致OOM的原因知道吗?如何优化?
    • 给我谈谈图片压缩。
    • LruCache & DiskLruCache原理。
    • 说说你平常会使用的一些第三方图片加载库,最好给我谈谈它的原理。
    • 如果让你设计一个图片加载库,你会如何设计?
    • 你知道Android中处理图片的一些库吗(OpenCv & GPUImage ...)?

    WebView

    • WebView会导致内存泄露吗?原因是什么?解决方式有哪些?
    • 你知道Hybrid开发吗?说说你的相关经验
    • 说说WebSettings & WebViewClient & WebChromeClient这三个类的作用 & 用法。
    • 说说你了解的Hybrid框架。
    • 如何提高原生的WebView加载速度?
    • 谈谈你对webView工作机制的认识,你在项目中优化过它吗?说说是从哪些方面着手的?

    ViewPager

    • 什么是ViewPager?说说它的那些适配器。(校招&实习)
    • 你了解ViewPager2吗?和ViewPager 1有哪些区别?
    • ViewPager + Fragment结合使用存在的内存泄漏的原因是什么?如何解决?

    View事件分发机制

    • 什么是事件分发机制?主要用来解决什么问题?(校招&实习)
    • 给我说说事件分发的流程 & 你项目解决事件冲突的一些案例。
    • 分别讲讲有关事件分发的三个方法的作用及关系。
    • 如果我在一个设置了点击事件的TextView中dispatchTouchEvent方法强制返回ture或
      者false会发生什么?
    • 谈谈你对MotionEvent的认识?Cancel事件是什么情况下触发的?
    • requestLayout(),onLayout(),onDraw(),drawChild()区别和联系?

    相关文章

      网友评论

          本文标题:Android技术面试的三个坑,很多人都遇到过

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