前言:
这是我第一次使用markdown写blog,因为不知道要写些什么所以就想把面试时面试官问我的一些问题记录在这里。一来可以练习下markdown的语法,二来可以总结下吧!
面试官
:如果出现这样子的情况你能接受吗?你按照需求一步一步慢慢地完成项目(期间产品部经常让你改这改那的),最后项目完成了,你给产品部的看,结果他们要你推翻重做。我
:这也没办法啊,毕竟用户交互什么的还是很重要的,有时候就算自己感觉,诶,这个这样那样不是很好的啊!但产品做出来还是需要用户使用的,推翻重做,虽然心里很恼火,但也是没办法嘛!
面试官
:沟通能力怎么样?性格如何?我
:还好吧?我做安康天使的时候和厦门那边沟通是用QQ来交流的,在这里是面对面应该不会沟通不了,性格嘛!一开始的话会很乖很安静,但时间久了,混熟了,就比较会多说话。一个词概括就是:闷骚型的。
面试官
:你是怎么解析json的,跟我说说代理模式,说说修饰属性有哪些关键词并说说什么情况下使用。我
:一开始我是使用sbjson来解析json,后来看了唐巧的技术博客中一篇文章,在里面他介绍分析了几种主流的json解析库,其中sbjson的解析速度不是倒一就是倒二,推荐使用jsonkit,再后来发现苹果官方提供的json库久已经很好用了所以就用了系统自带的json库。(文章说如果要支持ios5.0以下的系统,那么NSJSONSerialization就不行了,但考虑到那时ios7的升级率到了95%,所以果断抛弃了jsonkit)。代理模式就是,假设有个需求是狗想抓小偷,但他不具备抓小偷的能力只有发现小偷的能力(彻夜不眠等小偷的能力)。这时候我们就需要使用代理/委托模式来帮助实现抓小偷的需求。这时候我们可能需要有一个人,他具备捕捉小偷的功能,但他不知道小偷什么时候来。那么我们会在狗这里存储一个指向(即狗的委托)人的引用,并在关键时刻(在狗发现小偷的时候)给委托(即人)发送消息(即发出汪汪的提示音),告诉委托(即人)小偷来了,这样子就实现了狗抓小偷的需求。修饰属性的关键词有:strong,weak,readOnly,readwrite,atomic,nonatomic,assign,retain,copy strong:默认是strong,readOnly时为了属性不被外部访问,readwrite是默认的,atomic是默认的,nonatomic非原子操作,assign 简单赋值 ,不更改引用计数。retain引用计数+1,copycopy一个对象变成新的对象(新内存地址)引用计数为1,原来对象的计数不变.面试官
:网络连接是使用什么的,为什么使用这个?实体类是怎么做的?我
:网络连接是用asihttp第三方类库,因为大神们好像都是使用这个,不过现在好像更流行使用afnetworking。因为asihttp的作者已经声明说不再对asihttp进行维护了。实体类我是通过字符串拼接弄的,但我知道有一种技术叫做反射和kvc可以用来简化实体类.
面试官
:你在开发中印象最深刻的是什么?我
:印象中最深刻的就是开发中需求不明确导致一直在改需求从而导致我一直要改原型,还有就是一开始app的UI就没设计好,很多界面和交互都要重新修改。关于技术上的就是很多东西都是以前没有了解过的一般都是从stackoverflow上和github上找答案。深刻了解到自身知识储备的不足。还有就是当项目很赶的时候要弄个清单,哪些重要且急,哪些重要但不急,哪些不重要。这样子就不会乱了阵脚。面试官
:你网络传输是使用什么协议?我
:我不知道使用的是什么协议,然后我就问面试官能具体些吗?面试官说http和scoket。我就说我用的是http然后就没有然后了。