【interview】某音频独角兽公司的iOS面试题

上周末请假去了xmly公司面试(此处和谐),音频独角兽公司想必我不说你也知道是哪一家,虽然只是抱着学习的态度去试一试,但是准备了一周以后还是被虐了。下面说一下面试过程和感受。

  • 地理位置:张江高科,骑车10分钟
  • 办公室环境:工位排排坐,走廊很多白板和写tip的纸条
  • 面试流程:填个人信息,笔试大概一小时,面试,二面。后面可能还有不过我已经挂了/(ㄒoㄒ)/~~
  • 题型和程度:偏基础,笔试题英语,内容广泛涉及底层。

笔试题
Ⅰ1.What is protocol, and category ? What is the difference betweem implementing a category and inheritance?
1.什么是协议,类别?类别和继承实现的区别是什么?

2.How do touch event and respond chain deliver in iOS
application?
2.触摸的事件链和响应链在app里是怎么传递的?

3.List some design patterns in iOS SDK. How do you use them?
3.列出在iOS SDK中的设计模式,你是怎么使用它们的?

4.What is delegate, and notification?What are differences between them?
4.什么是委托,通知?他们之间的区别是什么?

5.How to store data in iOS application?Can applicationstore persistent data in iOS device,even if the application is deleted.
5.如何在iOS app存储数据?可以在iOS app持久存储数据么,即使应用程序删除。

6.Give an example of using KVC to set a value.
6.举个例子,使用KVO设置值。

7.What are blocks and how are they used?
7.block是什么?怎么用?

8.Do you know the iOS memory management policy?What about autorlease pool?ARC is the same as the Garbage Collection(GC) strategy?
8.你了解iOS的内存管理机制吗?什么是autorlease pool?ARC和GC有什么异同?

9.Talk about multiple threads programming and concurrency programming in iOS.Have you ever used them in your projects?if yes, can you briefly describe how did you use them.
9.简述多线程和并发。你曾经用在你的项目吗?如果有,简要描述你如何使用它们。

ⅡWrite a module ,which include two interface functions
a)create the link list
b)reverse the link list
The node is defined as follow:
typedef struct Node{
int value;
struct Nodenext;
}XMNode,
PXMNode;
创建链表,翻转链表

Ⅲ As following questions, you should think to design for easily used by others.
I design an audio player framework ,which has these following functions:
1.Buffer the audio data file,online play and offline play.
2.The player base functions (play,next,pre,pause etc.)
创建播放器

部分面试题:
1.sdwebimage清除缓存是耗时操作吗?根据日期清除缓存是怎么操作的?缓存日期存在哪?(文件头)
2.沙盒结构
3.类别怎么添加属性,和原类重名的两个category怎么固定实现顺序?如果一个category是第三方库的话呢?
4.tableview上切圆角最佳性能的方法是什么?
5.单例为什么不用判断对象为nil的方式创建
6.离屏渲染的原因
7.怎么实现webview里点开图片左右滑动预览(在不和后端约定字段的情况下)
8.事务的好处
9.下划线开头的实例变量调用getter/setter方法吗
10.怎么给category添加属性?category添加类方法的实质是什么,添加完方法之后想调用原来类的方法怎么做?
11.事件链和响应链是怎么传递的?
12.MRC中category的释放
13.webview自动行高设置

先在此列举,待我总结答案之后再更

你可能感兴趣的:(【interview】某音频独角兽公司的iOS面试题)