程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码。3 年后要不晋升做项目经理,要么转行,个别研究所除外。

面试官的问题:

(1)问:点击一个图标到这个应用启动的全过程(前面是项目经验没啥好说的)。
答:点击图标后通过startActivity远程调用到ams中,ams中将新启动的activity以activityrecord的结构压入activity栈中,并通过远程binder回调到原进程,使得原进程进入pause状态,原进程pause后通知ams我pause了。ams再根据栈中activity的启动intent中的flag是否含有new_task的标签判断是否需要启动新进程,启动新进程通过startProcessXXX的函数。启动新进程后通过反射调用ActivityThread的main函数,main函数中调用looper.prepar和lopper.loop启动消息队列循环机制。最后远程告知ams我启动了。ams回调handleLauncherAcitivyt加载activity。在handlerLauncherActivity中会通过反射调用Application的onCreate和activity的onCreate以及通过handleResumeActivity中反射调用activity的onresume。一个应用就此启动。
(2)问:Retrofit原理。
答:主要是通过动态代理将接口直接转换成代理对象。动态代理和静态代理的区别,动态代理直接在虚拟机层面构建字节码对象。
(3)问:View自定义的流程,实现哪些方法。
答:1.实现OnMeasure,onlayout,onDraw. 继续问“onMeasure中会用哪些方法?”(我觉得这题可能没大好,我是想回答的详细点的,结果还没打到点他就说好,继续下一题,不知道是认可了还是觉得我答的过于啰嗦,如果觉得太啰嗦可以提出来啊。。。) 我回答onMeasure 中传入两个int数值,这个数值32位,前2位表示模式,后30位表示宽度、高度。这是外表容器给内部view的限制。一种模式是容器给你多大的值,你就是多大的值(match_parent),第二种,容易给内部view多大的空间,内部view不用管,是多大就是多大。第三种,容器给子view多大的空间,和子view自己算出来的占用空间,选择小的那个(wrap_content).说到这我正打算说onMeasure会调用measureChildwithmargin类的函数,他说好了,然后下一题.
(4)问:问我怎么设计app的。
答:基本都用的mvc架构,曾经有个项目使用mvp。还有其它一些整体设计上的问题,很零碎,但都答的差不多。
(5)算法题,面试官的表述不是很清晰,所以开始没理解他的意思,我归纳一下题目:有1,3,7三个面值的金钱,现在要取n元。怎么取个数最少。(n是已知数) 意思就是 1a+3b+7*c=n 什么情况(a+b+c)最小。当然这是我自己归纳出来的,他开始的描述让我想哭。
答:开始脑子有点没反应过来,把它当逻辑题做了,想了5分钟后才反应过来,这是编程题啊。遍历呀。 a的取值范围(0n)b的取值范围(0n/3) c的取值范围(0~n/7) 遍历取最小值。当然这种情况效率并不高,我当时也和面试官说了,没太考虑效率,如果需要可以再改。感觉他也认可,思路对就行了。 其它一些零碎的问题没印象了,主要就这些。

我们很多程序员都有一个大厂梦,但如何针对大厂进行面试准备,很多程序员就显得手足无措了。本文就根据自己一些见解谈谈如何准备面试。

关于笔者: 阿里巴巴 Android 客户端开发工程狮一枚,喜欢技术、热爱开源。

细节杂谈

之所以是细节杂谈,说实话,是因为真的不知道可以写什么,网上关于面试的文章很多,大概看了几篇之后,更不知道写什么了。而根据自己的面试经验来看,发现其实有很多细节,在面试的时候都没有被好好重视起来。所以,这里针对这些细节做个总结,也希望可以对你们有所帮助。

1. 准备一个良好的开场白

首先笔者理解的自我介绍的作用是缓解初次交谈的尴尬以及过渡开场,然后才是扩展为对候选人的口才、逻辑以及表达能力的判断。

如果你实在不知道怎么说,即便是把你简历上的姓名、年龄、爱好、工作经验复述一遍,至少也是起到了暖场的作用。当然要是能基于此,表现出一定出彩的地方,那自然是再好不过,多花点心思准备是值得的。

PS:最近看到一个有趣的分享,唐僧每次介绍自己:贫僧唐三藏,从东土大唐而来,去往西天拜佛取经。其实这几句话包涵了每人都要问自己的三个问题:我是谁?我从哪里来?我要到哪里去?

2. 谦虚是必要的,因为这是礼节

很大程度上,面试官还有一个身份就是以后可能要一起共事的同事或者老板,所以切忌不要表现的心高气傲,尤其在电话面试中,很难在短时间就能了解一个人,你所表现出的态度就显得非常重要,如果和面试官产生了争论,要注意谈话技巧,可以在你的观点前加上我理解的是什么什么…

就连牛顿说他不过是站到了巨人的肩膀上了,所以永远不要觉得自己有多牛,真正牛的人只会更谦虚。这里手动,他是我很喜欢的一个 Android 开发同学。

3. 大招放的好,工作何愁找

嗯,标题起的挺押韵,容笔者小小的骄傲下

安卓系统开发!大牛教你怎么学习Android多进程,含爱奇艺,小米,腾讯,阿里相关推荐

  1. 安卓开发艺术探索!各种风格的Android面试题进来了解一下,含爱奇艺,小米,腾讯,阿里

    上周喜提oppo面试offer,本人在深圳,有4年多的Android项目经验,普通本科学历. 面试是相互相在,OPPO给我的印象确实如其核心价值观所说:本分. 一面.部长面和HR面都蛮顺利(一千个人可 ...

  2. 大牛教你怎么学习Java多进程,下载量瞬秒百万

    前言 一般的小项目,比如几百人左右访问的项目,访问量几万的项目,如果想用缓存,单机实例完全够用.小黄图就是用的阿里云256MB配置的Redis缓存,日几千的访问量是妥妥够用的了.Redis号称可以支撑 ...

  3. 小白勿进!大牛教你怎么学习Java多进程已拿意向书!

    一.前言 k8s全称kubernetes,是目前大热的一个可移植容器的编排管理工具,像AWS.Azure.Google.阿里云.腾讯云等主流的公有云提供的都是基于k8s的容器服务,很多其他厂商也在努力 ...

  4. 安卓开发快速上手!优秀Android程序员必知必会的网络基础,含爱奇艺,小米,腾讯,阿里

    写这篇文章的目的是想说说这段时间一直被不断提起搞得人心惶惶的话题,裁员.为什么突然聊这个,本来一直是想避开这个话题的,一是网上已经有了铺天盖地的消息不想要再造成大家的恐慌,二是我身边几乎没有发生这样的 ...

  5. 安卓插件化开发!我的头条面试经历分享,含爱奇艺,小米,腾讯,阿里

    前言 在老东家呆了将近四年光景,受益颇多,无奈在技能上遇到瓶颈,深感自己技能上不能再进步,毅然离职,加入求职大军.说实话,遇上18年的金融危机.互联网寒冬.裁员,大量求职人员迸涌上来,找工作并不是那么 ...

  6. android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里

    前言 近期被两则消息刷屏,[字节跳动持续大规模招聘,全年校招超过1万人][腾讯有史以来最大规模的校招启动]当然Android岗位也包含在内,因此Android还是有很多机会的.结合往期面试的同学(主要 ...

  7. 强化学习处理自适应码流播放,爱奇艺AI推荐提升观看率15%

    AI已经深入到爱奇艺所有生产.运营领域 5月18日爱奇艺世界·大会智能视频高峰论坛上,爱奇艺CTO刘文峰向世界展现了AI在爱奇艺的全貌,从创作.生产.标注到分发.播放.变现等,AI贯穿爱奇艺的每一个流 ...

  8. 爱奇艺深度语义表示学习的探索与实践

    导读:基于学术界和工业界经验,爱奇艺设计和探索出了一套适用于爱奇艺多种业务场景的深度语义表示学习框架.在推荐.搜索.直播等多个业务中的召回.排序.去重.多样性.语义匹配.聚类等场景上线,提高视频推荐的 ...

  9. 学术派 | 爱奇艺深度语义表示学习的探索与实践

    导读 基于学术界和工业界经验,爱奇艺设计和探索出了一套适用于多种业务场景的深度语义表示学习框架.在推荐.搜索.直播等多个业务中的召回.排序.去重.多样性.语义匹配.聚类等场景上线,提高视频推荐的丰富性 ...

  10. 华为linux系统怎么安装爱奇艺,荣耀智慧屏X1怎么安装爱奇艺?怎么安装第三方软件?很简单...

    原标题:荣耀智慧屏X1怎么安装爱奇艺?怎么安装第三方软件?很简单 荣耀智慧屏X1是华为推出的高端电视产品,但是华为做的系统只能下载他想让你下载的软件,很多第三方软件都下载不了.比如爱奇艺就不能下载,如 ...

最新文章

  1. socket心跳机制图片_WebSocket心跳检测和重连机制
  2. 《重构-改善既有代码设计》读书笔记-重构篇
  3. html函数中怎么写超链接,如何调用html超链接中的函数
  4. hpux oracle9,oracle 9.2.0.8在HP-UX 11.31 下的安装步骤和注意事项
  5. 学习UpdatePanel控件
  6. EntityFramework Core 学习笔记 —— 包含与排除类型
  7. 2018ISMAR Comparing Different Augmented Reality Support Applications for Cooperative Repair...
  8. 计算机主机的拆卸步骤,电脑清灰教程:电脑主机怎么清理灰尘?台式电脑主机清理灰尘教学...
  9. 茶几上 清明上河图 诗句
  10. 声律启蒙--喜欢这个韵律
  11. 大学计算机基础四大专业课,《大学计算机基础》课程教学大纲.doc
  12. i3s/s3m/3D Tile
  13. 最适合游戏开发的语言是什么?
  14. win10 应用程序exe图标突然变成白色,怎么恢复?
  15. 透析阿里3亿元投资的如涵:孵化张大奕,吸金但苦逼
  16. C语言程序设计--商品信息管理系统
  17. java下载本地excel文件
  18. HCIP第十四天笔记
  19. 计算机二级ms难度,为什么二级ms通过低
  20. 服务器项目实施计划时间,项目详细实施计划方案_模板-20210804234116.docx-原创力文档...

热门文章

  1. 自我管理的8个好习惯
  2. CentOS 7之Postfix部署系列(三)postfix、Dovecot及Cyrus-sas配置
  3. vb密码查找程序代码
  4. Premiere 2 - 收录设置
  5. CiscoCUCM安装初始化
  6. X、X Window、X Server | 为什么xmanager,xshell,xftp 都以X开头
  7. 支持https、websocket的nginx配置文件
  8. Java——继承,抽象,接口
  9. 2011北京航空航天大学计算机机试真题
  10. 常用js函数方法积累