◆ 继续加深理解“稍微深入的知识点“中所定义的内容
◆ 了解系统核心机制:
了解SystemServer的启动过程
了解主线程的消息循环模型
了解AMS和PMS的工作原理
能够回答问题”一个应用存在多少个Window?“
了解四大组件的大概工作流程
…
◆ 基本知识点的细节:
Activity的启动模式以及异常情况下不同Activity的表现
Service的onBind和onReBind的关联
onServiceDisconnected(ComponentName className)和binderDied()的区别
AsyncTask在不同版本上的表现细节
线程池的细节和参数配置
…
◆ 熟悉设计模式(常用设计模式)架构意识。
学习笔记内容
热修复设计、插件化框架设计、组件化框架设计、图片加载框架、网络访问框架设计、RXJava响应式编程框架设计
第一轮:
起手式:自我介绍
介绍下简历上的项目
线程池的使用,线程池如何实现的,线程池的原理
Thread 的join 函数的作用
java 线程间通信的方法有哪些
Android handler 机制,源代码
juc atomicInteger 类为什么能保持线程安全,普通的变量为什么不能保证线程安全
java 内存模型(问了我有没有阅读过JSR 133的官方文档?并没有,很惭愧,感觉学的路子有点野)
java 内存分区
concurrentHashMap 的原理
100以内,10万以内,10万到无穷个数,三种情况排序,选择排序算法
你有什么要问我的?(问了一些技术相关的问题)
第二轮:
愿意不愿意来杭州
自我介绍
java的gc(gc工作原理,gc回收机制,gc内存分配)
http和https区别
http报文结构
http 报文头部含有什么
你最拿手的项目是什么(回答了和同学做的开源项目,并且介绍了如何做的)
手写代码:跳台阶问题
你有什么问题要问我吗?
第三轮:
你对字节面试官的印象如何?你从面试官上学到了哪些东西
你每天的生活安排是什么样子的?
你为什么选择来阿里?
字节的开源框架用了哪些呢?说说weex?
你以后的技术规划是什么样的?
你最有成就的项目是哪个?
为什么选择android开发?
为什么选择nodejs开发作为第二条技术路线?
你有什么要问我的吗?(问了面试官入职培训)
如果你过五关斩六将,成功地通过了所有的技术面,那么恭喜你,你离升职加薪、出任CEO、迎娶白富美、走向人生巅峰又进了一步。但是还没有到谈薪资待遇的时候,最后还有一个考验:HR面试。基本所有的大公司都有这一轮的面试,不要小看HR面试,很多公司的HR对于面试者都有一票否决权的----即使前面的面试对你的评价再高。
所以,这轮的面试也必须重视起来,HR面试主要问的是几点:
简历中写的过去工作经历的离职原因
当前公司薪资待遇
期望能到怎样的一家公司
个人未来的发展方向
我专门提一下第2点。可能有人比较排斥也不想说这个,我个人倒是持开放状态,问了就说了,当然一些的夸大还是必要的,当前公司薪资待遇多报个一千块钱完全没问题(毕竟是一家互联网公司总多多少少有些补贴啊什么的嘛)。
因为这和你在新公司能拿到的薪水关系不大,新公司能拿到的薪水的决定因素是整个公司的薪资情况以及根据你的面试情况在公司的定位,都是有固定的薪资范围的。HR问这个主要也就是心里有个数并且看你是否诚信----有些公司入职时会要求你提供最近一家单位的银行流水号。
HR面试就说到这里了,总结起来其实就是四个字:滴水不漏。整个
面试过程态度积极向上,不要有任何悲观消极的态度(尤其在谈到以前公司情况的时候,即使有再多的不满),就不会有问题。
整理的面试题合集,
金三银四面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)