本帖最后由 悟空老师 于 2016-6-10 16:21 编辑
挑战公司:深圳康桥网络科技公司 公司规模:50人 公司地址:深圳宝安创业一路1004号宏发领域2栋2802 面试时间:5月6日 15:00 PM. 面试结果:提了薪资15K,等待第二轮公司类型:移动互联网,医疗健康
这家公司是一个初创型的小公司,主要做的是智慧医疗APP的产品。敢在医疗软件这个领域插足的,就是我们口头经常说的那种人少钱多福利好的公司。公司刚起步,地点在一个高档小区中,地点不是很好找。
其他废话也不多说了,直接上面试过程。
有笔试,但是感觉他们公司只是走个形式。题目内容大致如下:
1.关于app的生命周期。
2.使用多线程的场景。
3.对于block的理解。
4.OC的内存管理。
5.手写单例实现。
6.本地数据化的方式。
7.是否有IM开发经验。
题目不难,基本都是一些非常常见的问题。不过没有做完,原因是,我才写了几分钟,技术面试官就过来了。。。。。好吧,接下来就是技术面试环节了。
(关于笔试题,笔试题在深圳的iOS面试市场还是很常见的,基本上很多公司都会有这个环节。当然这个环节说有用也有用,说没用也没用。有些公司,就是很随意的在网上找一些题目,然后打印下来,有些时候技术面试官都不一定看这些。也有些公司比较正式,会找公司的技术人员写一些技术面试题,这些含金量就比较高。会找一些在工作中真实遇到的问题来考面试者。但不管怎么样,对于我们黑马的学员来说,一个原则:事先做好准备,兵来将挡水来土掩。还有一个建议,就是在写笔试题目的时候,要多写一些关于自己的见解,一些自己的理解。这样的话,我们就会比其他面试者多一些自己的东西。这就是亮点,还有就是在后面技术面试的时候,可以将一些自己的做笔试题的时候,没做出来的,可以直接问技术面试官,相当于技术讨论,并不是所有的东西我们都懂,但是我们要争取每次面试我们都能学习到新的东西。)
面试官:你之前做的app都大概是什么项目啊。
我:我这边做过的项目比较多,像是一些主流类型的app都有接触过。有一些是协助同事修修补补的,还有几个是自己经手的。电商平台的有扬海电商,企业OA的有扬海亿建通,里头也有即时通讯(因为在笔试题中有这道题,在这里提了来引起注意)。还有生活服务类的,像简历上面写的信息掌厅。
面试官:你的简历里面写到了Swift,你有学过是吧?
我:嗯,对,Swift在一出来的时候我就有关注了,不过在1.0的时候并没有说有计划的去学。因为那个时候还不是很稳定,我是在2.0的时候才开始学的。学习难度不大,基本上可以直接用来开发。
面试官:那让你用Swift来写App可以吗?
我:写是没有问题啊,不过我个人还是觉得不建议用Swift来写App。(套路,我完全可以说没问题,但是我没有这么说,而是抛出了一个坑)
面试官:为什么不建议?
我:不是说不能写,而是不建议现在用。可以再等几天,过几天苹果的WWDC就要开了,到时候不出意外就要有3.0出来了,那个时候就会稳定很多了,到时候我估计会有很多公司会用Swift来写App。(主要表现出是圈内人,才会关注这些东西)
面试官:恩恩,那你能再说下ASI跟AFN的区别吗?
我:ASI啊,http终结者啊,这个应该没什么公司会用了吧,在一二年的时候就已经停止更新了。
面试官:对,能说下嘛?
我:可以,ASI跟AFN的比较的话,ASI会更加底层一些。我们都知道,越是底层的东西,效率会越高。也就是其实ASI的效率会比AFN的效率高。ASI的底层的话是基于CFNetwork,这是一个纯C语言的框架,具体里头是什么,我这边没做过多的研究,毕竟ASI已经不更新了。而AFN的话的底层是基于OC的NSURLConnection和NSURLSession。AFN的话主要是通过监听两个过程,一个是成功还有一个是失败。通过监听这两个状态,使用block来进行回调。使用起来难度不大,一般情况下我都会先做一层网络隔离之后,再使用封装过的AFN来做网络请求。
面试官:如果现在让你做一个功能,有一个按钮,用户需要频繁点击,那这个时候的网络处理你会怎么做。
我:首先我先确定需求,这个按钮是需要频繁被点击的。那么我先假设这个按钮会在短时间内同时按三次,那么我不会立刻就做网络请求,因为这样我不敢保证在网络不好的情况下,连续的网络请求是否会成功。我的想法是在这个网络请求步骤中做一个网络延迟,延迟一小会之后再发网络请求,将数据返回到服务器中。
面试官:那一般网络不好你会怎么处理?
我:这个还能怎么处理,在没有网络的时候,通过弹窗来提示用户网络不给力。
面试官:你有做过IM吧。
我:恩,这个有做过,之前的项目里集成过环信。
面试官:没有用过原生的写吗?
我:这个还真没有,首先吧,那个时候公司要求用的就是环信。还有就是自己写原生的XMPP也不是不可以,利用socket协议来写。只是术业有专攻,毕竟不是专业的,写出来的肯定没有人家的好用。而且功能也没有人家封装的那么强大。所以那个时候用的是第三方,不过现在要是再写的话,建议用融云,因为融云现在比环信好用很多,集成起来也很方便。
面试官:那你最近有在研究什么新的东西吗?
我:这个还真有。主要在学习两个东西吧,都是最近比较火的东西。一个是流媒体直播,一个是基于WIFI的智能家居。
面试官:哦,能说一下吗?
我:流媒体直播的话,做了一些研究。主要是协议这几块的,有苹果专用的HLS协议,还有就是国标的RTMP,还有HTTP,以及微软的MMS协议,我记得这几个。不过有些东西还没看懂,播放直播流是没问题了,可是本地录制视频进行推流这块还没有研究懂。至于WIFI的话,这个就比较困难了。之前用过的是基于蓝牙的,但是我个人觉得以后的智能家居一定是基于WIFI的,蓝牙的局限性太大。但是我想学习,可是学习资料实在太少了。毕竟设计到一些硬件,还有硬件厂商提供好的接口。这个手头没啥相关的资源可以用。
(关于XMPP还有流媒体直播,这是近期非常火的两个东西。建议我们的学员,再出去面试的时候,可以提前学习下这两个方面的东西,绝对是面试利器,加分项。)
面试官:一般你都用KVO来干嘛?
我:KVO的话是一个监听模式。我用的地方还是比价多的。我习惯性的把它当成一个通知来使用,像是监听一些对象属性的变化,还有UI界面中某些控件的位置变化。通过监听新旧值的变化来起到通知的作用。有些使用一些动画转场我也会用到KVO。
后面也跟面试官聊了一些之前工作的东西,聊天的气氛也挺好,有说有笑。也跟面试官讨论了一些他们公司产品的定位还有方向,了解下他们公司的目标。给面试一个种感觉,我就是一个很好的同事。
最后聊了薪资,我这边提的是15K,面试官说了句在他们的考虑范围内。由于经理不在,后面他跟经理交接下,然后再通知我第二轮面试。Leader面。
期待后续更新。
|