为什么离职?
其实,我离职的原因挺简单的,就是希望找到一个能让我在技术上更进一步的地方。在我之前的那家公司,虽然工作稳定,但团队里能和我深入讨论技术的人越来越少了,尤其是在源码、数据结构和算法这些关键领域。我觉得这样下去,我的技术能力很难有大的提升。所以,我就想着换个环境,找个能和我一起玩转技术的团队。
自我介绍
我是一位热爱编程的软件工程师,来自一所二本大学的软件工程专业。除了编程,我还特别喜欢古风、日语和英语,这些都是我生活中的小确幸。我还自己捣鼓了个小博客。
跳槽前该考虑的事?
说到跳槽,我觉得有两点特别重要。
第一、
你得看看自己现在的能力能不能胜任新工作,就像你要去逛街买衣服,总得看看那件衣服尺码合不合适对吧?
第二、
你得看看现在市场上哪些公司缺人,哪些职位热门,这样你跳槽的时候才能更有目标。
还有啊,千万别裸辞!
裸辞就意味着你在一段时间内没有收入,还得自己承担各种开销,压力会很大。而且,裸辞后找工作,简历上可能会显得你工作经验不够稳定,这样容易在简历筛选阶段就被刷掉。所以,最好还是在职的时候就开始找工作,这样更稳妥一些。
我之前跳槽的时候就走了点弯路,一开始投了好多简历都没回音,后来才慢慢摸索出了一些门道。不过,只要你有实力,有准备,总能找到满意的工作的!
部分字节跳动面试题
1.Activity 任务栈和 4 种启动模式关联性问题
2.IPC 非常重要,想要达到中级和高级的水平就必须要读懂,跨进程几种方式必须了解
3.Binder 肯定是必问的,当然还有 AIDL
4.自定义 View 的 draw measure layout 过程,事件的分发,拦截,处理,处理滑动冲突的思路,view滑动的几种方式
5.动画的几种实现方式
6.Window 在 Android 里的作用。它和 Activity 和 View 的关系
7.四大组件的工作过程,这个确实有难度,按自己能力钻研吧,也别陷的太深
但是,四大组件的使用方式必须会,Service 的启动和绑定,广播的使用方法,写个简单 ContentProvider 这些都是必须的
8.Looper,Handler,MessageQueue 的关系
9.主线程为什么是主线程,如何开启线程,线程池和安卓常用的四种线程池
他们的特点和使用场景
11.AsyncTask 原理,并发问题,缺点等
12.如何面对大的 bitmap,如何自己设计一个 ImageLoader
13.其实可以扩展为,如何设计一个 okhttp,如何设计一个 retrofit,eventBus 等等
14.其实就考察对开源框架的认识和使用的熟练程度
15.如何避免和处理 Crash 和 ANR
16.优化篇,过度绘制,OOM,内存泄漏,布局优化,MAT, Lint
由于面试内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要2024年Android中高级最全面试真题答案 完整文档的可
目录
第一章 Java方面
- Java基础部分
- Java集合
- Java多线程
- Java虚拟机
第二章 Android方面
- Android四大组件相关
- Android异步任务和消息机制
- Android UI绘制相关
- Android性能调优相关
- Android中的IPC
- Android系统SDK相关
- 第三方框架分析
- 综合技术
- 数据结构方面
- 设计模式
- 计算机网络方面
- Kotlin方面
第三章 音视频开发高频面试题
- 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
- 怎么做到直播秒开优化?
- 直方图在图像处理里面最重要的作用是什么?
- 数字图像滤波有哪些方法?
- 图像可以提取的特征有哪些?
- 衡量图像重建好坏的标准有哪些?怎样计算?
第四章 Flutter高频面试题
- Dart部分
- Flutter部分
第五章 算法高频面试题
- 如何高效寻找素数
- 如何运用二分查找算法
- 如何高效解决雨水问题
- 如何去除有序数组的重复元素
- 如何高效进行模幂运算
- 如何寻找最长回文子串
第六章 Andrio Framework方面
- 系统启动流程面试题解析
- Binder面试题解析
- Handler面试题解析
- AMS面试题解析