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

来源:互联网 发布:乌兰托娅的歌曲淘宝 编辑:程序博客网 时间:2024/06/04 01:32

首先,我花了一点时间,出了十道笔试题目:

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、CD四个异步请求,如何判断四个异步请求全部完成后再执行?
7、iOS中如何实现局域网通讯?说下大概过程或者思路。
8、如果要你写一个登陆注册系统,你打算怎么实现?(可以写下你需要创建的类,并且说明这个类是干嘛用的,尽量体现你的代码习惯和思维逻辑)
9、相信你对“王者荣耀”并不陌生,你也知道王昭君的大招是“下冰雹”,那么你知道如何实现这个“下冰雹”的动画吗?
10、你知道SDWebImage吗?如果要你写一个图片本地缓存管理器,你准备怎么写?说说你的思路。

具体面试下来,情况大致分为三种情况:
1、笔试没写出来几个,大多空白,就直接没有面试机会
2、都懂一点,有点基础,但是理解不够深入
3、确实基础扎实,有自己的理解,就算不会的,也能够说出自己的思路

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

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

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

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

当时还想着能否遇到一个玩王者荣耀的大神?结果大多回答:不会、不玩、很陌生…
我表示很伤,好歹也是一款现象级的游戏,肯定得了解吧?关键是“小冰雹”动画没一个会的,好像核心动画就一个贝塞尔曲线似的,其实你只要答出:CoreAnimation
CAEMitterLayer,就是OK的,很可惜…

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

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

“学如逆水行舟,不进则退”,大家都一起共勉吧,包括我自己。

原创粉丝点击