android进阶指北 pdf_一个Android应届生从上海离职到杭州一周收获4个offer的求职经历...

00105731360fdcf0dcad0c188562e516.png

背景

毕业于一个普通的二本院校,向大厂扔过几次简历,就跟打水漂一样,最终沉底,从上海离职到杭州,对于一个应届生来说是一次艰难的选择,更稳妥的方式应该是在实习结束后,留在原公司再呆一年。话虽是这么说,但还是得视情况而定,我总是告诫自己,当周围学不到任何东西的时候,我们就该考虑离开这样的舒适区。

来杭州了一个礼拜,收到了4个offer,其中让我印象深刻的,就是技术主管对于应届生这个身份,在他们眼里,应届生是一群很高傲的人群,眼高手低,不愿意接受新技术,我觉得他们可能是对于这个身份太过于偏见,至少,我不是他所说的这种人,最后在技术面试结束后,也证实了我不是这种人,至少得到的回复是,确实是一个很特别的应届生。

我来说说着四个公司的情况,两个公司是A轮融资,一个是B轮融资,还有一个是从上市公司分离出来的一个创业公司,正准备pre-A,对于公司选择方面,我更倾向于价值回报的最大化,薪资是最后考虑的一个东西。

第一个A轮融资公司

接到这家公司先是来了个电面了解了一下双方,避免浪费双方的时间。

  • 自我介绍
  • 说说你做的这个组件化框架
  • 什么是渐进式组件化
  • Retrofit的实现原理
  • GC机制和回收算法
  • Glide实现原理
  • 线程池的理解
  • MVC、MVP、MVVM各自的特点

还有一些问题是关于项目的问题,大致面试过程面试官是被我牵着走,引导他往我自己知道的知识点上面进行阐述。

电面面试官面完对我很吃惊,问我“你确定你是应届生?面完感觉比我还要高一层次”

第二天现场面,现场面问的不多

  • 做过哪些性能上的分析,说说自己是如何解决的
  • 动态规划的问题
  • 走台阶问题,其实就是斐波那契

其中还有很多琐碎的问题,我大致看了下他们的办公环境,偏随意,比较乱,接下来就是谈薪资,谈薪资是一个博弈的环节,当你的能力和技术表现的很强硬的时候,完全可以试着往高的要,因为,人事也会给你一个他们的心理价位,要的太低的话,也是在贬低自己的能力。

待遇:

  • 薪资11k
  • 五险一金按杭州最低基数缴纳,公积金入账一个月大致是400多
  • 公司合理避税,到手基本有10k多
  • 期权兑现,每个月都可以套
  • 双休,没有加班
  • 刚A轮融资,就是有钱

结果

最后拒绝掉了这家公司,距离比较远,还有一个是不太符合自己的发展方向,面试结束后,人事还开车载我到地铁站,还是比较感谢的,7月的杭州是真的热,离地铁还有2.8公里左右,想想都怕。

第二个A轮融资的公司

这家公司是做p2p的,大家都知道现阶段p2p很多公司都爆雷了,但为啥我会去面试呢?主要还是好奇心的驱使,在去之前,我在网贷之家查了一下这家公司,前100名,资金池浙商银行托管,主要借贷于金融与汽车行业,老总是银行出身,大致看起来还比较靠谱,如果不靠谱的话,小公司早就被爆了,然后我就去面试了。

  • Retrofit的实现原理
  • 说说MVC、MVP、MVVM的理解
  • 并发下,对于一个值做减法操作
  • 生产者和消费者问题
  • 你知道偏向锁吗

然后乱七八糟的问了一些问题,因为是有个android要离职,急需招一位来弥补空缺,问的问题主要偏java的一些解决方案,问我在android工作闲暇的时候是否乐意参与后端的开发,他们后端有四个java开发,对于p2p移动端,业务非常简单,几乎可以说工作完全不饱和,我也很乐意接触后端,也算是自己想发展的方向。

其中有一段很搞笑的插曲,在技术主管面我的时候,说“你是应届生?我们这本来不招应届生的,应届生给不了这么高工资,你github是多少,我来看看”,面试结束后,技术主管被我说的服服帖帖,自己态度也比较强硬,就要的10k,以能力定夺,hr也想来压工资,最终被我三寸不烂之舌维持在了自己想要的薪资范围内

待遇:

  • 10k
  • 五险一金最低基数缴纳
  • 不避税
  • 中午有厨师做饭
  • 双休,加班少

结果

目前为止,我先做了个待定,因为离租房的地方近,技术主管也愿意给我时间去研究后端,中午还能省一个盒饭的钱。

33d38d347968ae32a2a0379d7619c85d.png

B轮的公司

这家公司应该是我面的里面最喜欢的一家,只有这家,给我感觉到技术上面的深度,该公司主要偏Framwork层,业务方面比较少,先是来了一个电面了解了一下

  • Activity生命周期
  • Handler机制原理
  • aidl和binder的理解
  • ArrayList和LinkedList的优缺点
  • HashMap、HashTable、CurrentHashMap
  • okhttp原理
  • 线程池的理解
  • 谈谈你做的组件化

大致记住了这些面试题,后序就是通知我去公司面。

到公司是下午2点,天是真的热,下地铁离公司还有2.3公里,来到公司,技术主管很贴心,给了一瓶苏打水,让我先放松放松,差不多休息了有一刻钟,然后Android和技术主管一块来面。

  • 说说你对项目的优化
  • 屏幕适配
  • MVP解耦
  • 四大引用
  • ActivityThread的作用
  • 说说你在学校做的这个手机控制电脑的思路
  • socket实现点对点聊天
  • 如何利用socket实现群聊,并发问题,消息一致性问题
  • 线程池问题
  • 如何实现后台服务的保活

问题大多围绕着解决方案来开展,这家公司主要做社交电商,自己需要设计一套IM,而且是超流氓的那种,哈哈,不过,很体现技术,需要应聘者有深度的理解,大致给的发展方向是,希望我往深度的方向进行研究,结束后,得到了一致的肯定。接下来就是CEO和我聊了一下,问了下上个公司做的项目,然后自己的职业规划,大致就是了解一下价值观方面的东西,接下来就是人事过来面了,这家确实比较正规,技术团队有阿里、支付宝、百度的人,很适合学习,人事的自我介绍也比较牛,和我讲了很多现实的问题,公司有很多资源,能帮助你进大公司发展,浙大派系的一家公司。

待遇:

  • 8k、15薪,完全没有商量的余地,打算给应届生6k
  • 不避税
  • 五险一金正常缴纳
  • 双休

结果

最终还是拒绝了,因为太远了,薪资有点低,不过很喜欢他们对技术深度方面的追求,技术主管也特别的惜才,在我和hr表明拒绝的时候,主管还主动加我微信,希望能做个朋友,多多交流,也给了我很多的意见,主管还和我说“新的一轮融资进来了,公司打算换个地方,你确定不来?”,真的非常感激。面试那天下了场大雨,hr还贴心的给了我一把伞,怕我回去淋雨,真的万分感谢。

创业公司

这家公司是好友内推的,技术靠谱,所以就先电面了解了一下

  • 谈谈你做的这个组件化
  • 线程池的理解
  • JMM模型
  • volatile关键字
  • 自定义view和事件分发机制
  • gc机制
  • 内存泄漏
  • 热修复
  • react-native和flutter的区别
  • 然后就是彼此了解,谈谈自己

聊了有1个小时左右,感觉很投缘,就问我什么时候来公司见个面聊聊。

到了公司,技术团队还没成型,经过了解,leader希望能找到靠谱的成员,宁缺毋滥,然后聊了下公司的项目,未来的发展,然后聊了下模块划分,和我探讨了组件化方面的优缺点,多个应用的情况下共用一套模块,然后也给了我很多意见,他深知我有一颗想去大公司的想法,也给我讲了很多好处和坏处,从10点聊到13点多,大致3个多小时,还是很受用的,技术方面,他也和我说,希望我往广度的进行发展,深度发展容易技术狭隘,他还和我描述了技术学习就跟“丁”字一样,先横向发展,然后再深度发展,很多技术都是想通的,有可能新学到的技术会给你这门技术带来新的灵感,我也很赞同,之前看过一个h5写的打方块小游戏,没试过用android去实现一下,后来一早醒来,突然有了灵感,刷刷的用kotlin写完,完美的实现,特别的有成就感。

薪资

  • 9k
  • 五险一金正常缴纳,不避税
  • 季度考核奖金
  • 双休
  • 早上10点上班,19点下班

结果

hr说给我发offer,还需要领导签字,过程很慢,目前还在等待中,leader希望我能试着弄后端,不过,我也要求他让我试试后端,年轻就应该多学点技术,在团队沟通中,能更好的选择技术方向,并解决问题。

简历

简历方面我一直都是用有道云笔记写,然后导出pdf,技术栈方面最好写自己会的东西,对于框架和源码,最好多读读,多分析,试着改造别人的框架,来符合自己的业务。

最后

我也看了几家不错的公司,简历出去没人回,也问了内推的,目前都不招,大公司一般内部都有自己培养的实习生,应届生出来找工作确实是一件比较难的事,还有一个比较现实的问题,移动端的地位并没有那么的重要,技术难度也不是特别的大,公司业务的复杂度基本都堆积在后端,移动端的kpi考核很难上去,重要性比较低,所以,我也打算试着接触后端,有挑战的东西才能学到新东西。

希望未来有机会去大公司试试水,毕竟有个好的目标就有一个积极的驱动力。

求其上,得其中;求其中,得其下;求其下,必败。


最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2020面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节

还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

78ca059b91cb696bdd8549f64277cb92.png

一线互联网面试专题

6bf9ccc1785ce86309f5fef727ecab37.png

379页的Android进阶知识大全

ad700eeb4a91a3d7ba40f123249935e9.png

379页的Android进阶知识大全

有需要的朋友可以:

私信我回复【资料】免费领取《Android学习PDF+架构视频+面试文档+源码笔记》

即可免费获取~

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2020年万事大吉。

本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。 第1章 Activity的生命周期和启动模式 1 1.1 Activity的生命周期全面分析 1 1.1.1 典型情况下的生命周期分析 2 1.1.2 异常情况下的生命周期分析 8 1.2 Activity的启动模式 16 1.2.1 Activity的LaunchMode 16 1.2.2 Activity的Flags 27 1.3 IntentFilter的匹配规则 28 第2章 IPC机制 35 2.1 Android IPC简介 35 2.2 Android中的多进程模式 36 2.2.1 开启多进程模式 36 2.2.2 多进程模式的运行机制 39 2.3 IPC基础概念介绍 42 2.3.1 Serializable接口 42 2.3.2 Parcelable接口 45 2.3.3 Binder 47 2.4 Android中的IPC方式 61 2.4.1 使用Bundle 61 2.4.2 使用文件共享 62 2.4.3 使用Messenger 65 2.4.4 使用AIDL 71 2.4.5 使用ContentProvider 91 2.4.6 使用Socket 103 2.5 Binder连接池 112 2.6 选用合适的IPC方式 121 第3章 View的事件体系 122 3.1 View基础知识 122 3.1.1 什么是View 123 3.1.2 View的位置参数 123 3.1.3 MotionEvent和TouchSlop 125 3.1.4 VelocityTracker、GestureDetector和Scroller 126 3.2 View的滑动 129 3.2.1 使用scrollTo/scrollBy 129 3.2.2 使用动画 131 3.2.3 改变布局参数 133 3.2.4 各种滑动方式的对比 133 3.3 弹性滑动 135 3.3.1 使用Scroller 136 3.3.2 通过动画 138 3.3.3 使用延时策略 139 3.4 View的事件分发机制 140 3.4.1 点击事件的传递规则 140 3.4.2 事件分发的源码解析 144 3.5 View的滑动冲突 154 3.5.1 常见的滑动冲突场景 155 3.5.2 滑动冲突的处理规则 156 3.5.3 滑动冲突的解决方式 157 第4章 View的工作原理 174 4.1 初识ViewRoot和DecorView 174 4.2 理解MeasureSpec 177 4.2.1 MeasureSpec 177 4.2.2 MeasureSpec和LayoutParams的对应关系 178 4.3 View的工作流程 183 4.3.1 measure过程 183 4.3.2 layout过程 193 4.3.3 draw过程 197 4.4 自定义View 199 4.4.1 自定义View的分类 200 4.4.2 自定义View须知 201 4.4.3 自定义View示例 202 4.4.4 自定义View的思想 217 第5章 理解RemoteViews 218 5.1 RemoteViews的应用 218 5.1.1 RemoteViews在通知栏上的应用 219 5.1.2 RemoteViews在桌面小部件上的应用 221 5.1.3 PendingIntent概述 228 5.2 RemoteViews的内部机制 230 5.3 RemoteViews的意义 239 第6章 Android的Drawable 243 6.1 Drawable简介 243 6.2 Drawable的分类 244 6.2.1 BitmapDrawable 244 6.2.2 ShapeDrawable 247 6.2.3 LayerDrawable 251 6.2.4 StateListDrawable 253 6.2.5 LevelListDrawable 255 6.2.6 TransitionDrawable 256 6.2.7 Ins
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值