iOS面试经验

一、美团

对基础知识考察较多。

熟悉属性、类、属性的修饰符的含义,等等。

Learn More,See:https://item.m.jd.com/product/10273460812.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774

or https://item.m.jd.com/product/1107907589.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774

看完该书,对于基础知识的面试基本没啥难题。如果英文水平过硬,建议看英文版的,浅显易懂,能让你逐句阅读,细较每一句话每一个单词的含义。

美团的氛围很好,环境高大上,面试官和蔼可亲,善于分享。

二、京东

在多线程、内存管理方面考察较多。

See:https://item.m.jd.com/product/11290076347.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774

三、今日头条

对基础知识考察较多。

熟悉OC常见基础知识。

头条面试官是最先启蒙我看哪本书的。感谢!

四、百度

对简历上所写知识要求掌握,考基础算法,发散思维。

五、人人

对基础控件的使用考察较多,如分享控件等。

六、58同城

更看重做的项目吧,还有对算法的了解。

简单附一下,遇到的面试题。

1.property各个修饰符的作用?

2.可变数组和不可变数组的区别?

https://juejin.cn/post/6844903735651647502

NSArray是一个静态数组,不能修改该数组中的元素,也不能添加元素。

NSMutableArray则对应的可修改、可添加元素。

NSArray是线程安全的;

NSMutableArray多线程的时候自己加锁,一般NSMutableArray内部用,然后copy出一个NSArray做为接口暴露给别人。

3.ARC的对象在什么时候释放?

dealloc的时候

4.UIView的block为什么不需要处理循环引用?

所以UIView的动画block不会造成循环引用的原因就是,这是个类方法,当前控制器不可能强引用一个类,所以循环无法形成。

https://www.zhihu.com/question/36358590

美团

5.引用计数器的实现原理

6.深拷贝和浅拷贝的区别及实现

https://juejin.cn/post/6844903735651647502

7.OC的方法调用是消息机制

http://www.cocoachina.com/ios/20141018/9960.html

首先,编译器将代码[obj makeText];转化为objc_msgSend(obj, @selector (makeText));,在objc_msgSend函数中。首先通过obj的isa指针找到obj对应的class。在Class中先去cache中通过SEL查找对应函数method(猜测cache中method列表是以SEL为key通过hash表来存储的,这样能提高函数查找速度),若cache中未找到。再去methodList中查找,若methodlist中未找到,则取superClass中查找。若能找到,则将method加入到cache中,以方便下次查找,并通过method中的函数指针跳转到对应的函数中去执行。

8.KVO实现原理

原类Person生成一个派生类NSKVONotifying_Person,在派生类里边重写setter方法,改变原来的属性值,将原类的isa指针指向派生类,观察者监听派生类里边值的改变。

http://www.jianshu.com/p/829864680648

9.翻转单链表

public ListNode reverseList(ListNode head) {   

    ListNode p = null;    

    ListNode q = head;    

    while (q != null) {   

        ListNode t = q.next; 

        q.next = p; 

        p = q; 

        q = t; 

    } 

return p; 

 } 

https://developer.51cto.com/art/202002/610190.htm

10.为什么xib或storyboard中定义的label属性是weak,而纯代码定义需要用strong

这是因为interface Builder实现时label等视图是故事板或xib文件中定义的,当应用程序启动时会根据故事板或xib文件描述创建label等视图对象,对象所有权在故事板或xib,它们对label等视图是强引用。由于对象所有权不是视图控制器,因此在视图控制器中使用它时不能定义为strong,只能定义为weak,但是对于纯代码,label的所有权属于视图控制器,所以要用strong

11.dispatch_get_current_queue()被废弃的原因

http://blog.csdn.net/yiyaaixuexi/article/details/17752925

但当target queue恰好是current queue时,同步阻塞会导致死锁。

12.给类别添加属性

http://www.cnblogs.com/cleven/p/5255419.html

美团

13.怎么将nil添加到数组中?

(1)@“nil”

(2)结构体,将结构体作为一个类的属性,添加进去

(3)添加 [NSNull null]

14.isKindOfClass 和 isMemberOfClass的区别

京东

15.怎么拷贝一个数组中的数组

16.JavaScriptCore是干什么的?

17.单例是否总是只会创建一个实例?

NO!多线程时可能会发生创建多个单例的情况。

18.有几种锁

(1)@synchronize{}

  (2) NSLock

19.http://www.jianshu.com/p/841f60876180

20.类和结构体的区别

结构体不能添加方法,当然swift除外。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,243评论 0 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,050评论 25 707
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,107评论 29 470
  • 这是一部从编剧到表演都很燃的一部剧。我在想为什么电影的名字叫《战狼》,不叫《战虎》或者《战豹》呢。 我最近看了三本...
    宜爱阅读 556评论 2 6
  • 荷花,我来了。与你赴这一个夏日的约定。层层叠叠、远远近近、高高低低、一望无际的荷花淀呀,宛若一片荷花的海洋。 荷叶...
    第一滴露珠阅读 540评论 16 17