赞
踩
在做android项目开发时,大家都知道如果程序出错了,会弹出来一个强制退出的弹 出框,这个本身没什么问题,但是这个UI实在是太丑了,别说用户接受不了,就连 我们自己本身可能都接受不了。虽然我们在发布程序时总会经过仔细的测试,但是 难免会碰到预料不到的错误。
面试官:先介绍一下自己吧,做过哪些项目,掌握哪些技能
我内心:(简历都有写的,你自己不会看么?只好照着简历里写的说了一遍)
熟悉Android Framework,组件化开发及MVC/MVP/MVVM程序设计框架;熟悉UI/ NDK开发,掌握TCP/IP,HTTP网络通信机制,有OkHttp使用包装经验,熟悉安卓图形处理OpenGL ES机制,有Camera视频开发经验。熟悉国密加密解密算法,有通过OMA访问手机SE,利用SIM卡进行加密解密的经验;有在支持NFC手机上进行读取NFC标签及支付的经验。有前端及后台服务器的开发经验,熟悉开发框架React,Vue,Spring Boot及Mysql数据库。熟练掌握的语言有C++11, Java, Python, Kotlin等,能熟练使用Git,VS Code, Android Studio等工具和开发环境。
面试官:懂的还挺多(这时才低头看我简历)工作经历也挺多的,那说说做的最满意的项目是哪个
我内心:(白眼)
描述了我北京一家公司的社交APP,介绍功能,实现,用到的技术,设计思想等等。
面试官:说一下项目中的性能优化怎么做的
我:首先是启动优化,MultiDex 分包机制,dex分包预加载等等。稳定性–内存优化,流畅–卡顿优化等等,反正我整理的这份一线互联网大厂高频面试知识点资料里关于性能优化的全给他讲了一遍。(文末会无偿分享给大家)
面试官:(有点懵13了,没想到我能讲这么多)内存泄漏,还有哪些检测工具?LeakCanary 的原理知道吧?
答:利用Application#registerActivityLifecycleCallbacks Activity生命周期回调onActivityDestroyed方法通过调用RefWatcher#wather方法来检测对象是否回收,通过removeWeaklyReachableReferences—>gcTrigger.runGc—>removeWeaklyReachableReferences—>heapdumpListener.analyze 三步二次检测来确定内存泄露,最终dump 内存信息来分析到最终显示分析出的泄露信息。
面试官:有点东西啊,来说一说,在5.0以上和4.0加载dex时的方式有什么区别?
不知道
面试官:说说什么是同步屏障,在Android绘制的过程中,掉帧是如何处理的
Android绘制原理,同步屏障,然后发送VSync脉冲信号
面试官:OOM、ANR 异常怎么处理
EZ,我的博客里都有解析的,大家感兴趣可以去我的主页看一下,就不多说了。
面试官:okHttp的原理了解吗?如何对它封装的
答:重试拦截器、桥接拦截器、缓存拦截器、连接拦截器、请求服务拦截器(封装)。每一个拦截器负责的工作不一样,就好像工厂流水线,最终经过这五道工序,就完成了最终的产品。
GreenDao的实现原理
忘记了
Retrofifit实现原理
只记得,Retrofifit 是一个RESTful 的HTTP 网络请求框架的封装。
整个面试大概是有一个半小时,他就简单问几句,中间喝了几次水,期间没有人给我递杯水问到后面我是有点不耐烦了的。
几天后收到了二面的通知,直接拒绝了。一面给我的感觉非常不好。让我讨厌的面试官有以下几点
1、打断别人说话
在回答他提出的问题,我说着说着,他就打断:这个不是这样的,应该是这样的。或者没等我把这个答案说完,就直接顺出了下一个问题。
2、没礼貌
摆着一副架子,好像是我求着要他给我通过面试一样,一个半小时的面试,自己都要喝水,我一直在讲,也没有给我递杯水。面试中途还接了几次电话,把我晾在那里。
3、质疑别人的职业规划,对我的职业规划指手画脚。觉得自己的才是对的
问我为什么离职,我说出了自己的原因,产品方向和公司发展以及个人的一些进阶。然后他竟然怼过来说,一个做技术的在哪里不一样,这方面的东西不应该是你考虑的,做好自己的工作就行了,呵呵,呵呵呵呵。。。我就笑一笑
后来又面了几家公司都不是很满意,最后朋友内推拿了小米数码科技的offer。
感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?
Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021大厂最新Android面试真题解析
各个模块学习视频:如数据结构与算法
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
或直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。
F%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)中下载**,就可以白嫖啦,记得给文章点个赞哦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。