美文网首页
卧薪尝胆三个月啃透Android面试全秘籍,现已入职字节跳动,税

卧薪尝胆三个月啃透Android面试全秘籍,现已入职字节跳动,税

作者: 小城哇哇 | 来源:发表于2022-03-29 18:04 被阅读0次

    前言

    卧薪尝胆三个月吃透收藏腾讯技术博主整理的Android面试全秘籍后,才收到字节跳动的offer,谈到了30k的月薪顺利入职

    本来那时候就打算写一份入职感受的,结果上个月因为熟悉业务而耽误了,一直都无法抽出时间来写。最近总算是抽出空来,好好来说一说。

    1、两轮远程,一轮现场,HR直接过来谈薪资

    现在的工作地点是在北京,而我裸辞后是回到了老家。

    前两轮都是进行的线上面试,进到了第三轮就要求去到现场参加面试了。依然记得,第三轮面试的时候,负责人面过之后,又找了两个人过来进行交叉面试,说实话,我当时还蛮紧张的。

    不过,好在第三面完后,也许是三个负责人都比较满意,HR就来跟我谈薪资了。最后定在了30K14。

    2、我记下的面试题

    字节跳动一面(电话面)
    • 自我介绍+说说自己做过项目的技术核心,你在项目中遇到最难得点是什么?如何解决的?

    • Activity 到底是如何启动的?启动模式以及使用场景?

    • Handler了解吗?Handler Looper Message 关系是什么?Messagequeue 的数据结构是什么?为什么要用这个数据结构?

    • 如何在子线程中创建 Handler?Handler post 方法原理?

    • Fragment 之间如何进行通信?Fragment的生命周期?Fragment 生命周期和 Activity 对比

    • Service的运行线程(生命周期方法全部在主线程)、进程保活

    • ViewStub、include、merge原理是什么?什么时候使用它?

    • AsyncTask是串行还是并行执行?

    • dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景 滑动冲突,如何解决(这好像是二面的问题,又好像是一面的问题,不是很确定就写在一面)

    字节跳动二面(视频面)
    • 项目介绍

    • 如何进行自定义 View,以及view 重绘机制

    • 为什么Android要用 binder 进行跨进程传输,多进程那些带来的问题

    • AMS,WMS,PMS 创建过程

    • 为什么会发生 ANR?如何定位 ANR?如何避免 ANR?

    • 内存泄漏和内存溢出的原理,什么情况下会内存泄漏?如何防止内存泄漏?

    • LruCache使用极其原理

    • 如何进行 内存 cpu 耗电 的定位以及优化?性能优化经常使用的方法?如何避免 UI 卡顿?

    • MVC、MVP、MVVM的优劣点?

    • Gradle自定义插件的方式?

    字节跳动交叉面
    • 项目介绍

    • Android现在流行的屏幕适配方式

    • RxJava的原理、特点和使用过程?

    • Retrofit的使用流程和机制

    • 从源码的角度,说说Glide的执行流程

    • 组件化、插件化和热修复的原理,为什么要用组件化?组件之间如何通信?组件之间如何跳转?

    • 你是负责一款APP的那部分的模块开发?你最近做的 APP 是如何架构的?为什么要这样架构?平时遇到问题了是如何解决的?

    • 平时怎么进行技术进阶,如何学习?现在你觉得自己处于什么技术水平?你的技术优势是什么?

    总之,对哪一块比较熟悉大胆的说就行了,面试官不会太为难你,只有你明确了你掌握的技术点,面试官才会深入继续问

    面试官不是想为难你,而是需要知道你到底掌握了哪些技术,广度和深度是怎样的。然后再匹配这边的岗位需求,进行考察

    通过上述面试中提到的一些问题和网上收集的一些 Android 往年面试题进行了整理,并找出了对应的参考答案,耗时72小时最终将它们整理成了PDF文档。因文章篇幅长度限制,暂且只能用图片形式展现,如有参考学习的可以点击这里参考查阅,望这些干货能够帮助到大家!!!

    《2022Android中高级面试题合集》

    第一章 Java基础

    • 静态内部类和非静态内部类的比较
    • 多态的理解与应用
    • java方法的多态性理解
    • java中接口和继承的区别
    • 线程池的好处,详解,单例(绝对好记)
    • 线程池的优点及其原理
    • 线程池的优点(重点)
    • 为什么不推荐通过Executors直接创建线程池
    • 不怕难之BlockingQueue及其实现
    • 深入理解ReentrantLock与Condition
    • Java多线程:线程间通信之Lock
    • Synchronized 关键字原理
    • ReentrantLock原理
    • HashMap中的Hash冲突解决和扩容机制
    • JVM常见面试题
    • JVM内存结构

    第二章 Android基础

    • Activity知识点(必问)
    • Fragment知识点
    • Service知识点
    • Intent知识点

    第三章 UI控件篇

    • 屏幕适配
    • 主要控件优化
    • 事件分发与嵌套滚动

    第四章 网络通信篇

    • 网络协议

    第五章 架构设计篇

    • MVP架构设计
    • 组件化架构

    第六章 性能优化篇

    • 启动优化
    • 内存优化
    • 绘制优化
    • 安装包优化

    第七章 源码流程篇

    • 开源库源码分析
    • Glide源码分析
    • Android面试题:Glide
    • day 20 面试题:Glide面试题
    • 聊一聊关于Glide在面试中的那些事
    • 面试官:简历上如果写Glide,请注意以下几点…
    • Glide OOM问题解决方法汇总
    • OkHttp源码分析
    • Okhttp连接池复用机制
    • Okhttp 流程和优化的实现
    • 一篇让你受用的okhttp分析
    • OkHttp面试之–OkHttp的整个异步请求流
    • OkHttp面试之–HttpEngine中的sendRequest方法详解
    • OkHttp解析大总结
    • Okhttp任务队列工作原理
    • Android高频面试专题 - 架构篇(二)okhttp面试必知必会
    • Android 网络优化,使用 HTTPDNS优化 DNS,从原理到 OkHttp 集成
    • Retrofit源码分析
    • RxJava源码分析
    • RxJava原理与源码分析

    第八章 新技术篇

    • 实战问题篇

    第九章 面试篇

    • 开源文档
    • 面试题合集

    最后还有耗时一年多整理的一系列Android学习资源:Android源码解析、Android第三方库源码笔记、Android进阶架构师七大专题学习、历年BAT面试题解析包、Android大佬学习笔记等等,这些内容均免费分享给大家,需要的小伙伴点击这里免费领取。

    相关文章

      网友评论

          本文标题:卧薪尝胆三个月啃透Android面试全秘籍,现已入职字节跳动,税

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