昨天下午在外面玩的时候,人事加我微信,联系我说是要约个面试,跟她约定了今天上午十点。
不记得有没有投过简历,反正多一次面试经验也不错,今天早上 9.55 我进入腾讯视频会议,到 10.10 分面试官还没进来,我刚准备去问人事的,进来了,一进来就让我自己先简单介绍一下,然后我吧啦吧啦一顿输出,之后开始问问题。
第一个问题:
你在工作中遇到过什么问题,怎么解决的。我说我最近在调研资源动态加载,目前卡在如何剔除工程中的 so 文件以及如何去除三方 aar 中的 so 文件,我简单说了一下思路,在 apk 构建的时候,找到 gradle 构建涉及到的 task,然后在处理 so 时的 task 后面自定义剔除 task,然后备份到服务器上面,在 App 启动的时候请求下拉服务端的资源去动态加载 so 文件,整体思路说了一遍,然后结束这个问题。
第二个问题:
问我有没有做过国际化项目,如何进行国际化的。目前支持哪几种语言。我说我之前做过中东阿拉伯地区的定制化项目,没有涉及到 Google play 市场的上架,不过我自己研究过 Google play 市场的上架流程,同时也上架过自己的产品,把其中一些问题点描述了一下,之后结束这个问题。
第三个问题:
App 如何进行架构设计的。我回答说我们目前使用组件化开发的项目,多工程实现组件化开发,从底层到上层的架构主要是:最上层属于 App 壳工程,下面是业务组件层,同时每个组件提供服务接口层组件,在业务组件层下面是业务基础组件,主要是跟一些业务相关的功能封装,主要有分享,支付等,在基础业务组件层下面有一个通用的基础组件层,主要封装的是网络请求库,图片加载库,日志库等常用的组件,从上到下,主要的架构就是这样的,然后结束这个话题。
第四个问题:
算法设计题,屏幕共享,本地编辑器写代码,主要是实现一个累积函数(入参可能顺序不同,如 [1、2、3] 和[3、2、1] 认为是一样的, 但是如果是一样的话需要通过缓存),同时给出优化思路。我考虑了几分钟,同时跟面试官确认了一些问题点,然后说了一下答题的思路,面试官说你在本地写,我看着你实现,顺便看一下你的写代码规范,我通过一个 HashMap 来缓存累积结果,同时判断入参是否存在,存在则直接通过 map 返回结果,不存在的话,先计算然后在 put 进去做缓存。大概花了二十多分钟写好了,主要卡在了判断入参是否一样这一步了,耗了点时间。
做完算法题,面试官就结束了,问我有没有什么想问的,我就问了一下团队情况,之后我说没有了,也不想问了,瞬间感觉没意思🤣。
整体感觉,一般,面试官也看不出水平来,抛出问题,我回答以后也不说正确与否,直接继续下一个问题。八股文一个都没问,完全不按套路来,感觉不像是招人的,只是走个过场而已。