首页
下载应用
提交文章
关于我们
🔥 热搜 🔥
1
上海
2
习近平
3
新疆
4
鄂州父女瓜
5
乌鲁木齐
6
疫情
7
H工口小学生赛高
8
习明泽
9
芊川一笑图包
10
印尼排华
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
🔥
热搜
🔥
1
上海
2
习近平
3
新疆
4
鄂州父女瓜
5
乌鲁木齐
6
疫情
7
H工口小学生赛高
8
习明泽
9
芊川一笑图包
10
印尼排华
分类
社会
娱乐
国际
人权
科技
经济
其它
魏加宁:日本之所以能走出“大衰退”,靠的是不断改革,而不是所谓“积极的财政政策”
泪目!8死17伤!江苏一职校持刀伤人案,背后隐情令人心惊!
突发!宜兴一学校发生持刀伤人案件!致8死17伤!太恶劣了!
一小学门口突发!多名学生被撞伤!
“占坑式辩护”,侵犯了谁?
生成图片,分享到微信朋友圈
查看原文
其他
小缘你咋学的Android?为啥我们不一样~
Original
鸿洋
鸿洋
2020-10-29
稳住,今天是周末,补一篇文章。
在早期我写博客比较多的阶段,建立了非常多的交流群,后来因为上班之后,时间越来越少,所以很多群我都不再管理了,非常惭愧,很多群我可能超过半年以上没有看过。
但是上周我的一个群不见了,让我深刻意识到,我并没有时间管理这些群,还是有比较大的监管风险的,索性我就间接解散了几个,与此同时我也建立了一个比较容易管理的星球,用来接纳小伙伴。
这个星球的目的很纯粹,就是聚集一大批开发者,大家可以自由提问、分享。
刚好上周有人问小缘是如何学习的,那就给大家分享一些,我觉得轻松又有一定价值的内容。
1. 提问:
小缘你咋学的Android?
为啥我们不一样。
小缘:我的话,我之前上下班的路上,坐地铁的时候,会看一些电子书,现在因为住的地方离公司比较近,就改踩单车了。
还有就是,帮别人解决问题,也能学习到不少东西。可能某个知识点你平时没有注意到,但是在帮忙解决问题的过程中,刚好碰到了。
剩下的就是多看代码,多思考,多练习啦。
学完一个知识点之后,最好自己写代码验证一下,这样能加深理解,还有增强记忆。
看SDK的代码,也能学到很多东西。比如平时在写代码的时候,调用了一个SDK的方法,那么可以随手Ctrl点击进去,看看它里面是怎么实现的,还有看看它的文档注释,有没有值得注意到地方,这样能加深自己对这个类的理解。养成了这个习惯之后,进步很会很快的。
2. 提问:
我是一名工作多年Android,很想进大厂。
做了很多项目,也是全部死掉的,本人也是个普通全日制的二本。
如果想进大厂,面试的着重点和方向该从哪些出发。
1. 时机
想进大厂,最佳的时间就是3年左右工作经验的时候,3年以上,甚至5年以上,难度会大很多,为什么呢?因为有横向对比。
当然也不是没有机会,就是看能力。
2. 面试
面试,大多数情况下大厂面试官对一般的app没太大兴趣,所以很少会让你演示,这一点你不用太过于担心,遇到也别怪我呀,确实很少。
3. 再说面试准备
a.算法要准备,几乎所有大厂都有考察算法,当然了,并不需要准备太难的,看看leetcode初中级即可。
b. 基本android上的原理要充分理解,事件分发,handler,自定义view,属性动画,刷新机制等等,这些答对了不加分,答错了凉的比较快。
c. 所有你简历上写到的第三方库的原理,定制,如何优化扩展。要么你不要写,写了就做好充分的准备。
例如你写了tinker,你不能只说我用过,挺好用的,打patch传到bugly就行。
你要做好准备,问你各种固化资源,activity占坑,dex diff,dexclassloader,以及为何要选择全量合成,N上兼容性问题…
d. 业务上的亮点,比如你做启动优化,做的比较极致,可以拿出来吹一波,一定要“极致”,百度都能搜到的,那可能不算。 可以参考我最近推送的启动优化文章,有说支付宝,头条相关方案的;也可以参考邵文之前的专栏内容。
类似的业务优化有很多:
h5页面打开速度,稳定性,包体积等等,还是要说一句,得说极致的方案,不是随便找个博客看看。
这些极致方案,自己如果没有操作过,可以参考一些大厂开源项目,例如稳定性滴滴booster。
e. 关于新技术,不会就直接明说暂时没有接触就好了,只要不是岗位要求,一般不至于因为这个因素淘汰。
f. 最后运气也很重要,提前确定投递的岗位严重缺人,缺人程度一定和招聘难度成反比,不管他承不承认。
3. 提问:近期打算换坑,无奈不知道现在简历该怎么写,比如好的模板,布局,内容等等,有哪位大佬能分享一下简历的书写格式规范之类的。
简历相关,本号已经有两篇内容,完全可以满足了。
Android面试相关文章以及github整理
给大家 3 个走心的面试建议
4. 分享:
回答问题可以正向思考,如何低成本实现,以属性动画为例。
我非常喜欢问一个关于属性动画的问题,以下是模拟对话。
我: 网上有很多文章,说属性动画跟以前的动画的区别就是,属性动画把View移动到别的位置,依然能响应用户事件。
面试者: 对对对。
我: 那你能说说为什么吗?
面试者: 因为它真的位置改变了。
我: 这个位置改变指的是真的layout发生变化了么。
面试者: 嗯……是的(有些犹豫)。
我: 那我们很多布局都是RelativeLayout,布局间相互有依赖,那岂不是属性动画移动一个控件,其他依赖布局都得跟着动。
面试者: 嗯…是这样的(很犹豫)
我: 那这样性能好差呀,谁敢随便做动画。
面试者: 沉默
我: 好吧,我们换个思路,假设view没有真的layout发生变化。我们想“能够在view移动后能响应用户事件,你会怎么做?”
面试者: 没思路。
我: 想想参数,我们有:
1. 用户点击时的x,y坐标。
2. view的自己所在的区域。
3. 相对变化的属性值,比如想左移动了100。
这个结合起来做不到吗?
面试者: 明白了,有这些参数完全可以。把用户触摸的x,y与view所在区域与变化属性值一起比较,肯定知道触摸在不在目标位置。
我: 对,所以想要能够目标位置响应用户事件,并不用动layout,成本太高。我们在事件分发那里加个判断就算出来了。
属性动画也是类似的原理。
面试者: 学到了,多谢~
最后,我一个肯定「努力会有回报」的人,所以我日常给大家推荐的作者或者项目,都是实打实做了非常多分享的,能认识他们,我倍感荣幸。
推荐阅读
:
启动优化方案的“第三板斧”终于齐了!
千万级别的app中验证过,5分钟让你的 SDK 拥有热修复能力
我开发了一个神器!
扫一扫
关注我的公众号
如果你想要跟大家分享你的文章,欢迎投稿~
┏(^0^)┛明天见!
Modified on
喜欢此内容的人还喜欢
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存