P7面跪,8年工作经验在大厂“高薪落地”成奢望?

今年确实很困难,行情很差。因为创业没有成功但也谈不上失败,想换个环境,所以离开团队出来重新求职,说说最近求职的一些事情。

本人8年安卓开发管理经验,在公司做过从0开始到上亿用户的App(主要负责人),会前端但不是很精通,会node.js,其他技术也均有涉猎。

出来找猎头也好,自己投简历也好,真尴尬,很多第一轮面试我的面试官,大部分都是3、5年经验的安卓开发,聊了一会明显感觉对方的层次跟我不在一个档次(技术方面个人还是很自信的),但现实是人家面试我,结果有几次是我反问把对方问倒了,结果可想而知。实际情况是这些公司压根不招人,我8年经验,求职的算是比较高级的岗位,你来个初中级的跟我过招,其实就是没仔细看我简历,不是诚心招人。

后来通过朋友内推去阿里面试,面试过程都没什么问题,到谈薪的时候薪资压的很死,并且感觉也不是诚心招聘,因为都不缺人。再就是有些当初你看不上的公司,譬如说网易(原来拒过人家offer),现在人家倒看不上你了。

总体下来的感觉是,3到5年工作经验的应该相对好找,大部分公司的移动端应该都有一两个高手在,需要的是能快速干活的人;像我这样子的也比较难,会有高不成低不就的感觉,有些公司会直接跟我说,开不起我期望的薪资。

所以,要么加盟从事移动互联网创业的创业公司,他们需要高手,一个人可以抵三个人;要么就去大公司BAT,他们需要真正精通的高手,前几年去BAT没多大问题(拒过腾讯),但是现在发现,门槛越来越高,对应聘者也越来越挑剔了。

不过,找工作也不能着急,这个跟缘分一样,缘分到了就有了。

年轻时有资本瞎折腾,年纪大了就会发现找工作真tm尴尬,难怪大家都去创业了。

经过2个礼拜的折腾,也找好一家公司,工资比我创业前时的工资还低,不过重要的是发展平台个人觉得不错,总之自己满意就行啦。

下面分享一下我在准备面试期间刷过的面试题:

一、图片

1、图片库对比
2、LRUCache原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide源码解析
6、Glide使用什么缓存?
7、Glide内存缓存如何控制大小?

二、网络和安全机制

1.网络框架对比和源码分析
2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp如何处理网络缓存的
4.从网络加载一个10M的图片,说下注意事项
5.TCP的3次握手和四次挥手
6.TCP与UDP的区别
7.TCP与UDP的应用
8.HTTP协议
9.HTTP1.0与2.0的区别
10.HTTP报文结构

三、数据库

1.Sqlite升级,增加字段的语句
2.数据库框架对比和源码分析
3.数据库的优化
4.数据库数据迁移问题

四、插件化、模块化、组件化、热修复、增量更新、Gradle

1.对热修复和插件化的理解
2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清点击 Android Studio 的 build 按钮后发生了什么

五、架构设计和设计模式

1.谈谈你对Android设计模式的理解
2.MVC MVP MVVM原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.谈谈对RxJava的理解
10.Rxjava发送事件步骤
11.RxJava的作用,与平时使用的异步操作来比的优缺点
12.说说EventBus作用,实现方式,代替EventBus的方式
13.从0设计一款App整体架构,如何去做?
14.说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
15.谈谈对java状态机理解
16.Fragment如果在Adapter中使用应该如何解耦?
17.Binder机制及底层实现

六、性能优化

1.启动 app 黑白屏优化
2.稳定——内存优化
3.流畅——卡顿优化
4.节省——耗电优化
5.安装包——APK 瘦身
6.冷启动与热启动
7.内存泄漏的场景和解决办法
8.Bitmap 优化
9.LRU 的原理
10.webview 优化
11.如何避免 OOM?

七、Android Framework

1.Android 系统架构
2.View 的事件分发机制?滑动冲突怎么解决?
3.View 的绘制流程?
4.跨进程通信
5.Android 系统启动流程是什么?
6.启动一个程序,可以主界面点击图标进入,也可 以从一个程序中 跳转过去,二者有什么区别?
7.AMS家族重要术语解释
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。

八、Android优秀三方库源码

1.网络底层框架:OkHttp 实现原理
2.网络封装框架:Retrofifit 实现原理
3.响应式编程框架:RxJava 实现原理
4.图片加载框架:Glide 实现原理
5.事件总线框架:EventBus 实现原理
6.内存泄漏检测框架:LeakCanary 实现原理
7.依赖注入框架:ButterKnife 实现原理
8.依赖全局管理框架:Dagger2 实现原理
9.数据库框架:GreenDao 实现原理

由于篇幅原因,以上完整版资料PDF如有需要,可以 点赞+评论 支持下我,然后【点击这里】免费阅读下载。

最后讲一下面试注意问题

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

另外,描述问题一定要慢!不要一下子讲一大堆,慢显得你沉稳、自信,而且你还有时间反应思路接下来怎么讲更好。现在开发过多依赖ide,所以会有个弊端,当我们在面试讲解很容易不知道某个方法怎么读,这是一个硬伤……所以一定要对常见的关键性的类名、方法名、关键字读准,有些面试官不耐烦会说“你到底说的是哪个?”这时我们会容易乱了阵脚。正确的发音+沉稳的描述+好听的嗓音决对是一个加分项!

最重要的是心态!心态!心态!重要事情说三遍!面试时间很短,在短时间内对方要摸清你的底子还是比较不现实的,所以,有时也是看眼缘,这还是个看脸的时代。

希望大家都能找到合适自己满意的工作!fighting!

猜你喜欢

转载自blog.csdn.net/weixin_52217015/article/details/115297948