最后
总之啊,家里没矿的同学们,如果你们想以后的日子过得好一些,多想想你们的业余时间怎么安排吧;
技术方面的提升肯定是重中之重,但是技术外的一些“软实力”也不能完全忽视,很多时候升职确实是因为你的技术足够强,但也与你的“软实力”密切相关
在这我也分享一份大佬自己收录整理的 Android学习PDF+架构视频+面试文档+源码笔记 ,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅并给下属员工学习的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。
总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
相信自己,没有做不到的,只有想不到的
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一面
- 自我介绍
- hashmap和hashtable
- jdbc
- 三次握手
- http状态码
- HTTPS加密:对称,非对称,CA证书
- handler
- 线程池的使用
- sychonized,volatile
- binder
- activity绘制流程
- 事件响应流程
- activity周期,启动模式
二面
- 自我介绍
- 对自己项目的介绍,架构图呈现
- 对MVP和MVVM的理解。
- 四大启动模式,以及场景对应
- Handler的机制介绍,为什么不能在子线程初始化问题
- 设计模式中的单例介绍,使用场景(Okhttp的Seesion存储等等),在线编写
- 快排算法
- OkHttp的源码分析,及整体架构的流程图绘制
- 四大引用的问题和MVP框架相结合进行回答
- View绘制流程问题,如何不使用xml,来实现中间位置的定位
- 事件分发机制流程讲解,以及如何实现单击事件和长按事件的判定
- 关于为什么选用mqtt协议的问题,优势,原理
三面
- 自我介绍
- abstract和interface区别
- int和Integer区别
- 四种引用
- Java里面int、char、long的字节数
- 线程的创建方式
- RxJava的优缺点
- EventBus
- 从网络上加载一个10M的图片,要考虑哪些
- http与https
- http 1.0 和 http 2.0之间的区别
- 设计模式准则
- Handler机制
- 算法:判断一个链表是否回文算法,给定一个数组,将数组里面的每一位向后移动k位
携程
携程当时投的时候就没抱希望,招聘信息上明确指定只招固定的那几所985高校,就随便投了,没想到笔试都没做就直接打电话面试了,不过问的问题确实很深入,结果显然,一面就挂了。
一面
- 集合
- concurrenthashmap
- volatile
- synchronized与Lock
- Java线程池
- wait/notify
- NIO
- 垃圾收集器
- Activity生命周期
- AlertDialog,popupWindow,Activity区别
斗鱼
斗鱼是一家直播公司,给出的实习待遇是相当好,经室友推荐就投了简历。最后流程走完,得知挂在了二面上,大概原因就是没有拿得出手的项目,实际项目经验不足。
一面
- 线程同步(五个线程如何顺序执行)
- GC
- 内部类特点
- 四大引用范式
- 新建线程的方式(三个)
- arraylist和linkedlist
- 线程池(使用,种类,参数)
- hashmap(底层实现,冲突解决方式,扩容方式,线程安全?LinkedHashmap)
- 自定义VIew(View的绘制,自定义View的方法)
- 性能优化(布局和代码)
- sp、dp和px的区别(适配问题)
- handler(基本原理,ThreadLocal原理和使用)
- 四大组件(问了生命周期和特点和基本使用)* 计网
- TCP和UDP
- HTTP建立过程
二面
- 问的都是一些项目问题,比较宽泛,没问具体技术点
字节跳动
字节跳动是在三月底投的,当时找了一个月,都没拿到拿得出手的offer,有点心烦意乱,就又海投了一波。3.24接了字节跳动的面试,3.29进行的视频面试。一共进行了3轮视频面试,字节的面试官很好,看得出来字节的技术是很强的,也很注重算法。最终拿到offer。
一面
- 数据结构中堆的概念,堆排序
- 死锁的概念,怎么避免死锁
- ReentrantLock
- synchronized
- volatile
- HashMap
- singleTask启动模式
- 用到的一些开源框架,介绍一个看过源码的,内部实现过程。
- 消息机制实现
二面
- synchronized与ReentrantLock
- ReentrantLock的内部实现
- 用到的一些开源框架,介绍一个看过源码的,内部实现过程。
- Java中异常
- App启动崩溃异常捕捉
- 事件传递机制的介绍
- ListView的优化
- 今日头条推荐新闻去重,推荐的时候去掉用户已经看过的新闻。
- 二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径。手写算法
- 模式MVP,MVC介绍
- 断点续传的实现
三面
- 集合的接口和具体实现类,介绍
- TreeMap具体实现
- synchronized与ReentrantLock
- 手写生产者/消费者模式
- 逻辑地址与物理地址,为什么使用逻辑地址
- volatile
- 一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,给出时间复杂度、空间复杂度。手写算法
- Android进程分类
- 前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
- Activity的启动模式
腾讯
腾讯大家都知道互联网巨头,我是通过实习僧上简历投递获得的这次面试机会,一共进行了两轮电话面试,挂在了二面。
一面
- 自我介绍
- APP的启动流程
- APP的安装流程
- Rxjava的源码
- 事件分发机制和多点触控
- https和非对称加密
- Retrofit的动态代理
- 几种IPC方式的优劣,以及Binder的原理
- 本地持久化储存的方法
- parcelable和serializable
二面
- 自我介绍
- 笔试题1:删除无序链表中的重复结点(能否优化)
- 笔试题2:先说一下二叉树的有哪些遍历方法。写一个二叉树前序遍历的非递归形式。
- 讲一下Java的内存。
- 创建一个字符串对象,这个对象分配在哪里?
- String str = “123” + “456”;会创建几个对象。
- 问了操作系统的问题,没学过,所以也忘了问了什么。
- 数据存储有学过吗?数据库和文件保存有什么区别?
- Activity有哪些启动模式?
- 有什么要问的?
爱奇艺
爱奇艺也是通过实习僧上简历投递获得的机会,本来不抱希望,结果过了10天左右约我面试。面了大概一个小时,聊得还不错,最后第二天通知我挂了,有点不知所措,可能是实习时间达不到要求吧(只能这样安慰自己了)。
一面
- RxJava的功能与原理实现
- RecycleView的使用,原理,RecycleView优化
- ANR的原因
- 四大组件
- Service的开启方式
最后
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
Android 基础知识点
Java 基础知识点
Android 源码相关分析
常见的一些原理性问题
希望大家在今年一切顺利,进到自己想进的公司,共勉!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!