没有稳定的工作,只有稳定的能力。
又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触
趋势
随着各类移动跨平台的兴起,在 ReactNative 、Flutter 、Weex 等框架的加持下,Android 开发的能力已不再局限于 Android 领域,而各大厂商近些年也针对跨平台的不足进行逐步完善:
- ReactNaitve 底层重构的新架构 Fabric,将管理器等往 C++ 迁移实现同步操作和性能优化;
- Flutter 1.2 正式版发布,稳步推进稳定性的同时,考虑向着更多平台拓展。
- UCloud 的 uni-app 、滴滴的 Chameleon 通过各自的标准,希望把APP、前端和小程序一并纳入后宫。
但这并不意味着原生开发的“没落”!无论哪种跨平台的加持,最终都离不开你的原生系统能力。大潮过去后更多是淘汰“裸泳”,而如今的市场愈发趋向大前端,竞争之下我觉得移动开发的边界可以更广。
一.字节跳动
-
讲讲面向过程、面向对象、面向切面。
-
指针和数组的关系和区别。
-
讲讲Android handler。
-
队列和栈的区别和用途。
-
两个栈实现队列。
-
输入Url到浏览器显示过程。
-
http请求方法。
-
get和post区别。
-
surficeView和view的区别。
-
app从点击图标开始的启动全过程。
-
什么是线程安全。
-
线程安全有哪些机制。
-
如何保证 int加加(加号打不出来)线程安全。
-
Android线程间通信有哪些机制。
-
cpu调度方式有哪些。
-
空间局部性和时间局部性。
-
数据库乐观锁和悲观锁。
-
数据库索引作用,优缺点。
-
TCP拥塞控制。
-
https加密传输过程。
-
java内存模型。
-
java垃圾回收算法有哪些。
-
讲讲标记清除算法。
-
java四中引用。
-
谈谈线程池原理
二.百度
- jvm内存模型,类里面各种数据都存在哪个区域
- 类加载机制,过程,双亲委派
- 类的结构, 对象头
- gc算法和回收器
- OOM
- 怎么防止内存泄露
- volatile,synchronized,读写锁,可重入锁,互斥锁,自旋锁
- ThreadLocal
- wait,notify,notifyall
- 操作系统中虚拟内存是怎么实现的?
- 用socket实现一个TCP连接
- 树的遍历方式
- 深度优先遍历的几种方式
- 用栈实现先序遍历
- 二分查找的时间复杂度,对数据有什么要求?
- 你对数据结构这门课是怎么理解的?
- HTTPS,CA
- FTP协议
- 浏览器输入网址到页面显示的过程
- TCP的包装结构
- 7层网络模型
- 信息储存的方式,应用场景
- 进程间通信的方式,aidl
- Bundler原理
- Handler机制
- HandlerThread,IntentService,AsyncTask
- 点击事件分发机制
- 滑动冲突解决
- 广播注册方式,区别
- 有序无序广播,本地广播
- 服务的启动方式,区别,用途
- 数据提供者怎么用?原理?
- 布局是怎样加载的?有哪些方式
- 绘制优化方式
- 看过哪些第三方库的源码?
####三.其他 - 算法相关面试
- 屏幕适配
- 自定义View
- 事件传递机制的认识
- Opengl
- OpenCV
题外话
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~
这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,点击这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。
给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
[外链图片转存中…(img-BbhoBvuo-1609922643413)]
最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。