• 裸辞—躺平—刷题—大厂(Android面试的几大技巧)


    作者:老孤

    2022 年 5月裸辞,躺平在家蜗居许久的我开始准备面试。在经历 1 个多月的闭关过后;进行了 50+ 场 Android 面试,不错的是拿到一些 offer。

    在这里插入图片描述

    于是我整理出,部分觉得不错的面试清单:

    我分为几类

    1、基础知识题

    基础知识题是所有题型中最能“突击”的,它取决于对“考纲”的整理复习、归纳总结、背诵、运气。Android 的知识体系是庞杂的,对于有限的个人精力来说,考纲是无穷大的。

    2、算法题和数据结构

    算法题取决于刷题,运气,相较于前两类题,算法题可“突击”的成分就更多了。只要刷题足够多,胜算就足够大。大量刷,反复刷。

    3、原理类

    原理类是归纳整个技术点的总结,快速弹射出你对知识的范围以及技术点的理解;虽然许多用不到,但是可以看出的学习范围以及总结理解能力。

    面试就犹如考试,就像高考冲刺前我们所做的事,无非就是将每一个知识点理解并记忆。要通过面试固然需要一定的技巧,但绝不是靠伪造与吹流弊,通过一段时间沉下心来闭关修炼,等到春暖花开时,便可以出山收割,步入大厂,薪资翻番,岂不美哉?

    面试题总结归纳

    基础与原理题

    • 什么是ANR 如何避免它?

    • Activity和Fragment生命周期有哪些?

    • 横竖屏切换时候Activity的生命周期

    • AsyncTask的缺陷和问题,AsyncTask是什么?AsyncTask在不同的SDK版本中的区别?

    • android中进程的优先级?

    • Bunder传递对象为什么需要序列化?Serialzable和Parcelable的区别?

    • 为什么属性动画移动后仍可点击?

    • activity的startActivity和context的startActivity区别?

    • 怎么在Service中创建Dialog对话框?

    • Asset目录与res目录的区别?

    • Android怎么加速启动Activity?

    • Handler 引起的内存泄露原因以及最佳解决方案

    • 为什么我们能在主线程直接使用 Handler,而不需要创建 Looper ?

    • Handler 里藏着的 Callback 能干什么?

    • handler postDelay这个延迟是怎么实现的?

    • 如何保证在msg.postDelay情况下保证消息次序?

    • 通过google提供的Gson解析json时,定义JavaBean的规则是什么?

    • json解析方式的两种区别?

    • 内存泄露,怎样查找,怎么产生的内存泄露?

    • ViewPager使用细节,如何设置成每次只初始化当前的Fragment,其他的不初始化(提示:Fragment懒加载)?

    • Android为什么引入Parcelable?

    • 有没有尝试简化Parcelable的使用?

    • Bitmap 使用时候注意什么?

    • Oom 是否可以try catch ?

    • 强引用置为null,会不会被回收?

    • Bundle传递数据为什么需要序列化?

    • 直接在Activity中创建一个thread跟在service中创建一个thread之间的区别?

    • 如何计算一个Bitmap占用内存的大小,怎么保证加载Bitmap不产生内存溢出?

    • 对于应用更新这块是如何做的?(灰度,强制更新,分区域更新)

    • 如何通过Gradle配置多渠道包?

    • 自定义view效率高于xml定义吗?

    • 广播注册一般有几种,各有什么优缺点?

    • ddms 和 traceView 的区别?

    • MVP,MVVM,MVC解释和实践?

    • MVVM与DataBinding的关系?

    • SharedPrefrences的apply和commit有什么区别?

    • 为什么Google给开发者默认新建了个RelativeLayout,而自己却在DecorView中用了个LinearLayout?

    • APP性能稳定性是怎么做的?

    • 如何避免内存抖动?(代码注意事项)

    • 布局为什么会导致卡顿,你又是如何优化的?

    • 你是怎么样自动化的获取卡顿信息?

    • 安卓的app加固如何做?

    • 如何解决View的事件冲突?举个开发中遇到的例子?

    • 如何根据MeasureSpec去实现一个瀑布流的自定义ViewGroup?

    • 你项目中用到哪些开源库?说说其实现原理?

    • 手写拦截器?

    • 网络请求缓存处理,okhttp如何处理网络缓存的?

    • 从网络加载一个10M的图片,说下注意事项?

    • http怎么知道文件过大是否传输完毕的响应?

    • Glide内存缓存如何控制大小?

    • Bitmap如何处理大图,如一张30M的大图,如何预防OOM?

    • 热修复、插件化、模块化、组件化、Gradle、编译插桩技术原理

    • 如何加快 Gradle 的编译速度?

    算法题

    1、给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

    你可以按任意顺序返回答案。

    2、给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。

    2. 左括号必须以正确的顺序闭合。

    它是我按照自己划定的考纲整理出的全部题目,由于篇幅太长,决定把全部内容及答案整理成一些PDF类分享给大家里面归纳了(2022最新面试题+常见100到Android面试+算法结构50道=大厂offer到手),我把它推荐给你大家参考,获取请点击上方粗体字。
    在这里插入图片描述

    文末

    力争把默默无闻的“拧螺丝”说成惊天动地的“造火箭”。(这是一门技术活)

    但也不可避免地会发生“有些人觉得这是高大上的火箭,有些人觉得不过是矮小下的零件”。面试就好比相亲,甲之蜜糖乙之砒霜是常有的事。除非你优秀到解决了某个业界的难题。

  • 相关阅读:
    数据结构 · 线性表 | 单链表
    设计原则之【里氏替换原则】
    js逆向之加密参数还原与模拟
    自定义制作自己的数据看板软件
    rtcwake 定时唤醒休眠的linux
    【原创】java+swing+mysql个人日记管理系统设计与实现
    06【Redis事务与分布式锁】
    Python之tkinter图形界面设计学习二
    2023年(第六届)电力机器人应用与创新发展论坛-核心PPT资料下载
    爱摸鱼的TT~自学Java从入门到入土学习手册
  • 原文地址:https://blog.csdn.net/m0_71524094/article/details/126256832