您的位置:首页 > 职场人生

总结下最近面试iOS的一些情况

2017-09-07 11:25 357 查看
首先,我花了一点时间,出了十道笔试题目:

1、先找出下面两个数组中的共同元素,再对这些共同元素进行升序排序。
数组1: “4,1,8,2,6,9,0”
数组2: “1,5,6,2,7,0,4”


2、说下造成“循环引用”的几种场景,并且分别写出对应的处理措施。


3、类别Category的作用是什么?在实际开发中,你是怎么使用类别和继承的?请举例说明。


4、你知道iOS应用程序的沙盒目录下的具体结构是怎样的?开发中你用过哪几种本地缓存机制?


5、讲述下蓝牙连接的过程?并且谈谈你对CBCentralManagerDelegate和CBPeripheralDelegate的理解。


6、谈谈你对多线程的理解。假设现在有A、B、C、D四个异步请求,如何判断四个异步请求全部完成后再执行?


7、iOS中如何实现局域网通讯?说下大概过程或者思路。


8、如果要你写一个登陆注册系统,你打算怎么实现?(可以写下你需要创建的类,并且说明这个类是干嘛用的,尽量体现你的代码习惯和思维逻辑)


9、相信你对“王者荣耀”并不陌生,你也知道王昭君的大招是“下冰雹”,那么你知道如何实现这个“下冰雹”的动画吗?


10、你知道SDWebImage吗?如果要你写一个图片本地缓存管理器,你准备怎么写?说说你的思路。


具体面试下来,情况大致分为三种情况:

1、笔试没写出来几个,大多空白,就直接没有面试机会

2、都懂一点,有点基础,但是理解不够深入

3、确实基础扎实,有自己的理解,就算不会的,也能够说出自己的思路

显然,前两种情况是不符合要求的。

一开始面试的时候,我就很坦白,我说我不太在乎你懂多少,我在乎的是你懂的东西深不深,不懂的东西你是否能够根据经验说出你自己的解决思路,还有你的代码逻辑是否清晰?代码习惯是否良好不随意?就好像第一题一个很简单的算法(可以说路人皆知的排序算法),但是真正写出来的没几个,大多只能说个大概,行,你能说出原理,我也认可!

循环引用问题好像只知道Block块里边会有,我说Delegate呢?“那也是吗?”、“不然你为什么用weak修饰?”、“这是Delegate的写法啊”、“…”

多线程的问题,你只要讲出GCD Group关键字,我就认为你对,不过好像没几个能OK的,有的甚至说定一个全局变量来判断四个异步请求是否全部执行完毕,我当时就反问他,你说这话自己虚不虚?

当时还想着能否遇到一个玩王者荣耀的大神?结果大多回答:不会、不玩、很陌生…

我表示很伤,好歹也是一款现象级的游戏,肯定得了解吧?关键是“小冰雹”动画没一个会的,好像核心动画就一个贝塞尔曲线似的,其实你只要答出:CoreAnimation

CAEMitterLayer,就是OK的,很可惜…

SDWebImage好像人人都会,不过我稍微问下,是怎么存、取和释放的?结果就是一脸懵逼…



大致就考了几个知识点:算法、debug经验、编程思想、本地数据缓存、蓝牙、多线程、局域网通讯、代码结构、核心动画和图片缓存

刚好十个点,十道题。

“学如逆水行舟,不进则退”,大家都一起共勉吧,包括我自己。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 面试 笔试