小斑马货栈、伴鱼绘本、软通动力校招iOS工程师面筋分享

小斑马货栈

  1. 问的都是比较简单的基础,多线程GCD,缓存机制,数据库部分,属性的定义类型,swift基础;

  2. app的缓存机制应该怎么做的,大致描述一下你的思路;

  3. 实习公司的情况,还有对于薪资的要求.

整体来说,面试官比较平易近人,没有架子,挺好说话。

伴鱼绘本

面试3轮,技术2轮,hr1轮。技术面试难度一般。

第一轮:问了一些oc基础问题,如何创建方法,如何执行费方法以及执行延迟的执行代码,oc的垃圾回收机制等之类的基础问题。

第二轮:问了一些业务逻辑等问题。

第三轮:问一下我的期望薪资和职业规划。

软通动力

问对runloop的理解。

答 1)子线程中如果没有nsrunloop,那么运行一遍就结束了

2) 可以给子线程中添加runloop。

3) 如果我们在界面上滚动一个scrollview,那么我们会发现在停止滚动前,控制台不会有任何输出,就好像scrollView在滚动的时候将timer暂停了一样,在查看相应文档后发现,这其实就是runloop的mode在做怪。

4) 在开启一个NSTimer实质上是在当前的runloop中注册了一个新的事件源,而当scrollView滚动的时候,当前的MainRunLoop是处于UITrackingRunLoopMode的模式下,在这个模式下,是不会处理NSDefaultRunLoopMode的消息(因为RunLoop Mode不一样),要想在scrollView滚动的同时也接受其它runloop的消息,我们需要改变两者之间的runloopmode. 简单的说就是NSTimer不会开启新的进程,只是在Runloop里注册了一下,Runloop每次loop时都会检测这个timer,看是否可以触发。

5) 当Runloop在A mode,而timer注册在B mode时就无法去检测这个timer,所以需要把NSTimer也注册到A mode,这样就可以被检测到。

#软通动力##伴鱼绘本##小斑马科技##iOS工程师##校招##面经#
全部评论

相关推荐

哞客37422655...:这就是真实社会,没有花里胡哨的安慰,让你感受到阶级分明,不浪费彼此时间。虽然露骨但是唉
点赞 评论 收藏
分享
2025-12-17 12:08
门头沟学院 产品经理
牛客85811352...:1希音不知道算不算大厂 2完全符合,过得很舒服, 3确实只有杂活 领导找我续签到明年3、4月我要继续吗。主要是边实习边秋招这段时间还是有点累
什么是优秀的实习经历
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务