当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试

2021年 Android开发的现状

现在Android开发的现状大致是这个样子,人才严重过饱和,加上跨端和小程序盛行,原生客户端(安卓 iOS)岗位进一步萎缩,入行之后就业极为困难。目前行情是移动端严重过剩,服务端供需平衡,前端供不应求。市场上前端工作好找,服务端职业上限整体较高。。客户端上百人抢一个工作岗位,竞争激烈,内卷惨烈。

客户端开发整体水平较低,大量培训出来的开发者,简历包装两三年就能出来找到一份CV的工作,起薪就可以超过大部分人,所以这也是造成人员过剩的一个条件,人员过剩不可避免地就会导致公司的要求变高,福利变少等一系列问题。

那为什么Android开发会面临如此的危机呢?

现在程序员这个行业有手就行,门槛越来越低,无需学历,没有性别限制,只要你想,花点钱学习个半年,直接就能上场,这种批发效率极高。导致Android开发者鱼贯而入,人数爆发式增长对于原先老一辈的Android开发有一个极大的冲击,行业新人带着新的工作模式,新的工作态度,以及更好的精力和更低的工资供老板选择。

这样的条件,你被优化了也无可厚非,相同的事情,别人的性价比更高,产出也比你高,为什么不用性价比跟高的年轻人呢?当然,人都是会老去的,这对于大多数人来说都是一个死循环。

会画个UI就叫客户端研发了?记住了,缺的永远是真正的人才,而不是凑数的,当大潮退去,才知道谁在“裸泳”。

而现在没有谁还能在Android这一行“裸泳”了。

如何避免被优化?

对于程序员来说,赚钱最简单有效的办法就是提升自己的技术,学习永远是最廉价最有效地提升自己地方法。避免被优化有两种路可以走:

第一:

转行成为管理人员,在一家公司做的久了,对于公司的运营方式和管理模式都有一个较为全面的了解,对于技术层面和运营层面都有一个较为正确的理解,但是这个管理岗位是竞争力相当大的,不想当将军的士兵不是好士兵。

没人能够教你怎么去做一个 “将军”,没有一个确切的学习方向和路线,只能自己摸索,老板来看,老板说你行,你就是可以的,不行就是永远不行。

第二:

提升自己的技术,建立属于自己的技术壁垒,这是个有明确方向,学无止境的过程,这条路也是一条不断学习的路,只有不断学习才能从这条路上走得更久,把自己打造成一个 “T” 型人才,从涉猎到精通的过程,就是成为技术大牛的过程,成为大牛之后,你就会发现,所有的技术都是有相互关系的,也就是说,所有技术到了一定程度上之后都是互通的。

这也是大牛的恐怖之处,能够快速上手一门语言,搭建一个成熟的架构....等等。

在自己技术牛逼之后,便是不再受公司的内卷影响了,架构师在任何一家公司都是稀缺资源。

接下来就是各公司的面经了,分享出来供大家参考。

10家大厂面试题

尚德公司面试

1.java有什么特性,继承有什么用处,多态有什么用处
2.反射是什么,在哪里用到,怎么利用反射创建一个对象
3.代理模式与装饰模式的区别,手写一个静态代理,一个动态代理
4.对象加载的过程,属性先加载还是方法先加载
5.垃圾回收机制与jvm结构
6.自定义View,事件分发机制讲一讲
7.http与https有什么区别
8.Activity启动模式,以及各启动模式生命周期问题
9.静态方法,静态对象为什么不能继承
10.Activity怎么启动Service,Activity与Service交互,Service与Thread的区别
11.介绍一下android动画
12.Launcher启动App的流程,中间有几种跨进程通信(socket)
13.Handler通信,Binder通信
14.你碰到过什么内存泄漏,怎么处理
15.RXJava怎么切换线程
16.Fragment hide show生命周期
17.平常有用到什么锁,synchronized底层原理是什么

Vivo公司

1.简单描述下Handler,Handler是怎么切换线程的,Handler同步屏障
2.Glide的缓存,有用过Glide的什么深入的API,自定义model是在Glide的什么阶段
3.讲讲mvc,mvp模式,presenter内存泄漏的问题
4.ANR了解过吗?有没有实际的ANR定位问题的经历
5.性能优化你做过哪些?
6.有什么实际解决UI卡顿优化的经历
7.有做过什么Bitmap优化的实际经验
8.项目搭建过程中有什么经验,有用到什么gradle脚本,分包有做什么操作
9.组件化有详细了解过吗?ARouter详细原理
10.讲一下事件分发机制,RecyclerView是怎么处理内部ViewClick冲突的
11.mainfest中配置LargeHeap,真的能分配到大内存吗?

B站

1.一个大致有序的数组如何排序,最快时间复杂度
2.如果叫你实现,你会怎样实现一个多主题的效果
3.如何自定义实现一个FlexLayout
4.tinker的原理是什么,还用过什么热修复框架,robust的原理是什么?
5.说说你对注解的了解,是怎么解析的
6.synchronized是公平锁还是非公平锁,ReteranLock是公平锁吗?是怎么实现的
7.泛型是怎么解析的,比如在retrofit中的泛型是怎么解析的
8.mvp与mvvm的区别,mvvm怎么更新UI,databinding用得多吗,databinding的原理ÿ

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值