去到公司他啥都不会,但是他脸皮厚,不懂就向经理问,期间他学会了上各种学习网站,他开始看技术大佬写的文章,但是时间久了他发现看多了其实很快就会忘记,基本没有效果,于是自己开始写东西,可是自己写东西哪有那么容易呢?死磕,半个月时间看一个类,能写出东西来,但只有自己看的懂,却印象深刻。
进入社会的我们
一年后,他想跳槽了,于是他去面试被问了下面这些东西:
1.谈谈activity的生命周期?
当时我第一反应,woc?送分题? 然后就巴拉巴拉说了一大堆
但是他接下来的问题,我就有点懵逼了,那Aactivity转跳到Bactivity 它们的生命周期又是怎么样的呢?
我想也不难啊,首先Aactivity肯定执行OnCreate、OnStart、OnResume、OnPause、OnStop
然后Bactivity执行OnCreate、OnStart、OnResume
但是我这里犯了一个错误,OnStop的作用是,当你这个界面完全不可见时,才会执行
所以正确的应该是
Aactivity执行OnCreate、OnStart、OnResume、OnPause
Bactivity执行OnCreate、OnStart、OnResume后,Aactivity才执行OnStop
这时候,我能感觉到面试官对我有点失望。
2.听说你对数据存储比较了解,那你给我说说SharedPreferences的实现流程吧。
呵,尽管我有一道没回答好,这一道简单。
首先调用SharedPreferences对象的edit()方法获取一个SharedPreferences.editor对象…最后apply()方法将数据提交
面试官:说的挺详细,那你能给我说说apply()和commit()的区别吗?
我:??????what ???commit是什么??what’s this??两个单词长得不一样?
这时候,他轻咳了一声,我慌的一批。
后来查阅资料知晓,apply和commit的主要区别是:
apply是先将数据保存在内存中,然后再保存到磁盘上。
commit是直接保存到磁盘上
好吧,这时候他可能不想理我了。
3.说说okHttp吧。
这一次我回答的小心翼翼,生怕出点错。首先添加一个依赖库,之后创建一个okHttpClient实例,这时候如果要想发起一个http请求,就需要创建一个Request请求…
面试官:那你和我说说OkHttp的拦截吧。
我:(这时候我很坦然了)对不起(不会就先道歉),我对这个网络请求框架仅仅是了解,没有实际操作过。
面试官:那今天的面试就到这吧,你可以走了。面试的结果我们后期会通知你。
我:…谢谢
尾声
形形色色的人,变化无穷的世界。我们能做的只有适应。
这个年头不是所谓的,个人就能创造多少多少利益,带来多少价值。
更多的是团队合作,取长补短,让1+1>2 甚至1+1>10
最后送福利了,现在关注我可以获取包含源码解析,自定义View,动画实现,架构分享等。
内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。
大家可以跟我一起探讨,有flutter—底层开发—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
bs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!