网站代运营推广,云计算运维工程师,wordpress 微服务器配置,mt4外汇网站建设背景
首先我是个菜鸡#xff0c;工资也低的一笔。
刚毕业时候在一家国企上班干 app 开发#xff0c;干了快两年的时候#xff0c;跳槽到了一家伪大厂干安全。投了不少简历都没有回音#xff0c;只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西#xff0c;然而…背景
首先我是个菜鸡工资也低的一笔。
刚毕业时候在一家国企上班干 app 开发干了快两年的时候跳槽到了一家伪大厂干安全。投了不少简历都没有回音只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西然而平时也就写 python 脚本逆向android 上写了一些风控的东西感觉有点 low工资也不高当初没敢多要hr 给的比我要的还高。刚刚 leader 谈了谈明年的规划现在想跳槽。
现在也是很尴尬原来 app 开发的东西也忘了不少然后其实我想干 framework 开发自己对 ams,pms 还算挺了解的平时也根据他们原创了一点微小的解决方案。最近开始 fork 一个 aosp买个 pixel 改改刷刷练习一下。
理想毕竟是理想Android 低端不好混没什么经验跳到 framework 上去感觉也是挺难的跳回 app 开发又不甘心现在的状态貌似是干了快 3 年没有特别精通的东西。最近闹的裁员我司也是其中之一。加薪怕是没戏了然而生活还要继续跳槽避无可避。
背景
面是是上海的Android leader岗位周日一轮面试自我感觉答的都还不错。
结果收到邮件面试结束了说什么你优秀的学识和能力给我们留下了深刻的印象经过对你综合情况的仔细评估并经过与岗位需求进行谨慎匹配和权衡之后 非常遗憾我们这次没有和你达成合作。但你的信息已经被录入到公司人才库。意思就是挂了呗。 后来打电话问hr没跟我说原因。然后面试过程中有一点奇怪的地方面试前面试官跟我说我面的而这个岗位有点奇怪他也没跟我说哪奇怪。
面试过程
下面是面试官提的一些问题
面试官点击一个图标到这个应用启动的全过程前面是项目经验没啥好说的。
回答
点击图标后通过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。一个应用就此启动。
面试官Retrofit原理。
回答
主要是通过动态代理将接口直接转换成代理对象。动态代理和静态代理的区别动态代理直接在虚拟机层面构建字节码对象。
面试官View自定义的流程实现哪些方法。
回答
实现OnMeasureonlayout,onDraw。
继续问“onMeasure中会用哪些方法”我觉得这题可能没大好我是想回答的详细点的结果还没打到点他就说好继续下一题不知道是认可了还是觉得我答的过于啰嗦如果觉得太啰嗦可以提出来啊。。。
我回答onMeasure 中传入两个int数值这个数值32位前2位表示模式后30位表示宽度、高度。这是外表容器给内部view的限制。
一种模式是容器给你多大的值你就是多大的值match_parent 第二种容易给内部view多大的空间内部view不用管是多大就是多大。 第三种容器给子view多大的空间和子view自己算出来的占用空间选择小的那个wrap_content。说到这我正打算说onMeasure会调用measureChildwithmargin类的函数他说好了然后下一题。
面试官怎么设计app的。
回答
基本都用的mvc架构曾经有个项目使用mvp。还有其它一些整体设计上的问题很零碎但都答的差不多。
面试官最后是算法题面试官的表述不是很清晰所以开始没理解他的意思我归纳一下题目
有137三个面值的金钱现在要取n元。怎么取个数最少。n是已知数 意思就是 1 * a3 * b7 * cn 什么情况(abc)最小。
当然这是我自己归纳出来的他开始的描述让我想哭。
回答
开始脑子有点没反应过来把它当逻辑题做了想了5分钟后才反应过来这是编程题啊。遍历呀 a的取值范围0nb的取值范围(0n/3) c的取值范围(0~n/7) 遍历取最小值。当然这种情况效率并不高我当时也和面试官说了没太考虑效率如果需要可以再改。感觉他也认可思路对就行了。 其它一些零碎的问题没印象了主要就这些。
我想大家应该看过很多分享面试成功的经验但根据幸存者偏差的理论也许多看看别人面试失败在哪里比如我这次的挂了的面试大家可以对比下发现一些自己回答的话会有哪些问题这样对自己之后的面试才更有帮助。
最后
我这里整理了一份完整的学习思维以及Android开发知识大全PDF有需要的同学可以自行领取。 资料获取方式Android完整知识学习体系路线
当然实践出真知即使有了学习线路也要注重实践学习过的内容只有结合实操才算是真正的掌握。
com/doc/DSkNLaERkbnFoS0ZF)**
当然实践出真知即使有了学习线路也要注重实践学习过的内容只有结合实操才算是真正的掌握。