电子商务网站的作用有哪些,个人社保缴费证明在哪里下载,为什么wordpress有cookies,做视频网站需要哪些手续前言
这篇文章主要是分享今年面试心得#xff0c;现已就职于某大厂有三个月了#xff0c;近期有很多公司均已启动秋招#xff0c;也祝大家面试顺利#xff0c;获得理想的offer#xff01;
之前找工作的那段时间感想颇多#xff0c;总结一点面试经验和人生思考分享给大家…前言
这篇文章主要是分享今年面试心得现已就职于某大厂有三个月了近期有很多公司均已启动秋招也祝大家面试顺利获得理想的offer
之前找工作的那段时间感想颇多总结一点面试经验和人生思考分享给大家。
这是我印象深刻的一道题很明显它是我的第一次那时我去一家公司暂时叫它T公司吧面试外派到韩国三星的工作机会。T公司的面试官是一个叫Bely架构师显然那个时候Android开发是稀缺资源知道Service那都不得了了当然Bely也没打算为难我必竟也工作4年多了人长得也不错我轻松对答 Service是一个专门在后台处理长时间任务的Android组件它没有UI。它有两种启动方式startService和bindService。 你猜得没错Bely紧接着问我这两种启动方式的区别。 startService只是启动Service启动它的组件如Activity和Service并没有关联只有当Service调用stopSelf或者其他组件调用stopService服务才会终止。 bindService方法启动Service其他组件可以通过回调获取Service的代理对象和Service交互而这两方也进行了绑定当启动方销毁时Service也会自动进行unBind操作当发现所有绑定都进行了unBind时才会销毁Service。 这应该是比较关键的区别了在面试前我刚刚用Serivce做过一个音乐播放器。几年后我在深圳面试过很多人他们中有60-70%的人没有使用Service的经验让我一度感觉得深圳这座城市做Android开发的比较浮躁。因为这儿工作机会太多了初级的开发者都比较急功近利不需要在自己身上下太多的功夫也可以找到工作当然这是片面的认识。
当然还有其他的区别如两种调用对Service生命周期函数影响面试官也可以就这个问题展开一下。 当我遇到面试者知道怎么使用Service也如多年前的我可以自如的答出startService和bindService的区别时我一般会多问一句 Service的onCreate回调函数可以做耗时的操作吗 很多人都会说可以。
原形毕露他前面的回答只是在面试前预习了一下面试题而已。如果知道Service的onCreate是在主线程ActivityThread中调用的耗时操作会阻塞UI我一般再接着问 如果需要做耗时的操作你会怎么做 问题便这样展开了一个人是否真正懂得原理会灵活运用一下子便能看出来。 当面试者回答到线程和Handler方式时我会再问一下对方: 是否知道IntentService在什么场景下使用IntentService 这也是面试官要看的点真正的项目需要一个开发人员对某个问题有一定的深度也需要对整个Android的知识点有一定的广度。深度代表这个人对问题认真对待有钻研的精神广度代表这个人在面对同一个问题时会更容易从多种可行的方案中选出最合适的一种。
Service的实际项目中一直被很多人忽略为什么我一再强调Service很重要我们来看看如果对Service完全无知会在工作中遇到什么问题。 场景如果一个应用要从网络上下载MP3文件并在Activity上展示进度条这个Activity要求是可以转屏的。那么在转屏时Actvitiy会重启如何保证下载的进度条能正确展示进度呢 没有Service概念的人一般想出来的方案如下
在转屏前将进度缓存转屏后再读出来。使用android:configChanges设置让转屏时Activity不销毁和重建。
针对第1个方案我会继续问他将进度值存在哪里 转屏的过程中我们知道Activity的重建算是比较耗时的会可能会有几百毫秒以上那么这时候下载线程仍然在工作进度肯定和保存时的进度不一致了如何处理这个问题呢
第2个方案大家可以自己展开思考实际的项目中可能会需要额外做一些事情来处理ContentView的横竖布局的问题。
如果使用Service来解决这个问题看似是比较完美的不过就会涉及ActivityUI和Service的交互问题这个我们以后再讨论。
文末
对于很多初中级Android工程师而言想要提升技能往往是自己摸索成长不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路本文的重点是你有没有收获与成长其余的都不重要希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式就是有人可以带着你一起分析这样学习起来最为高效所以为了大家能够顺利进阶中高级、架构师我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程保证你学了以后保证薪资上升一个台阶。
当你有了学习线路学习哪些内容也知道以后的路怎么走了理论看多了总要实践的。 以上进阶BATJ大厂学习资料可以免费分享给大家需要完整版的朋友点这里可以看到全部内容。
进阶学习视频 附上我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 含BAT、小米、华为、美团、滴滴和我自己整理Android复习笔记包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。 模式汇总、Gradle知识点、常见算法题汇总。
[外链图片转存中…(img-SDpcOCSo-1618563382984)]