大伙儿今天来唠唠我最近碰上的一个面试,那叫一个“硬”,特别是对咱搞安卓的来说,有点出乎意料。
事情是这么开始的。我,最近不是在看新的工作机会嘛投了不少简历。筛选的时候也挺小心的,那些上来就说“月入过万”、“工资日结”、“时间自由”的,我基本都直接跳过,感觉不太靠谱,怕是遇到啥招工诈骗。好不容易挑了几家看着还算正经的公司,其中一家就给我发了面试邀请。
收到面试通知,职位是安卓开发工程师。我想着安卓开发嘛老三样呗。我赶紧把Java基础又巩固了一遍,毕竟安卓SDK就是拿Java开发的,这玩意儿是根基,不能含糊。然后什么四大组件、自定义View、性能优化、Handler机制、主流的第三方库比如OkHttp、Retrofit、Glide这些,都仔仔细细地在脑子里过了一遍,还翻了翻以前做过的项目笔记,怕面试官问到项目细节说不清楚。
我还特地去网上搜了搜这家公司的一些信息,看看主营业务是App长啥样,心里好歹有个底。感觉准备得差不多了,就等着面试那天了。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
面试是视频面试。面试官大哥挺和气的,先让我自我介绍了一下,然后问了几个常规的安卓问题,比如Activity的生命周期、LaunchMode的区别、内存泄漏怎么排查之类的。我都对答如流,心想这不挺顺利的嘛
可聊着聊着,画风就开始变了。面试官突然问我:“你对安卓系统的硬件交互了解多少?” 我当时愣了一下,心想我一个搞应用层的,咋还问到硬件了?我支支吾吾地说了解一些,比如传感器调用、蓝牙通信之类的。他点点头,然后抛出了一个重磅炸弹:“那你了解最近数字人民币App上线的那个SIM卡硬钱包功能吗?如果让你来设计类似的功能,你会怎么考虑?”
我当时脑子就“嗡”的一下!SIM卡硬钱包?这玩意儿我只是在新闻上瞄到过一眼,知道大概是个把支付功能集成到SIM卡里的东西,更安全,离线也能用。但具体怎么实现,那可真是超出我的知识范围了。这面试也太“硬”了,直接从应用层干到硬件层了。
虽然心里发怵,但也不能直接说不会。我定了定神,开始回忆我看到的那点信息,结合自己对安卓系统的一些理解,硬着头皮跟他聊。我说:
我一边说,一边观察面试官的表情。他也没打断我,就静静地听着,偶尔点点头。等我说完,他又追问了几个细节,比如如何保证密钥安全、如何防止重放攻击、如果SIM卡丢失或损坏怎么办等等。有些问题我答上来了,有些就只能坦白说自己了解不够深入,只能从理论层面推测一下。
整个过程下来,我感觉自己像是被扒了一层皮,以前觉得安卓开发就是写写UI、调调接口,最多搞搞性能优化,没想到现在面试都开始往这么“硬核”的方向发展了。
面试结束后,我瘫在椅子上,长出了一口气。虽然不知道结果怎么样,但这回面试给我的冲击挺大的。我意识到,现在的技术发展太快了,单纯的应用层开发已经满足不了某些岗位的需求了。特别是涉及到金融、支付、安全这些敏感领域的,对开发人员的要求会更高,需要你对系统底层、甚至是一些硬件特性都有所了解。
这回“硬核”面试也给我提了个醒,不能满足于现状,得多学习新东西,拓宽自己的知识面。虽然我主要做的是App开发,但了解一些系统层、安全层甚至是硬件交互的知识,肯定没坏处。万一下次又碰到这种“硬”面试?
各位搞安卓的兄弟们,除了把应用层的那一套玩溜之外,有空也多看看底层的东西。这回实践经历就分享到这儿,希望能给大家一点启发。技术之路,道阻且长,共勉!