美文网首页IOS
招聘靠谱ios

招聘靠谱ios

作者: yuditxj | 来源:发表于2017-03-01 09:46 被阅读60次

    http://blog.sunnyxx.com/2015/07/04/ios-interview/

    http://blog.csdn.net/xunyn/article/details/8302787

    http://www.360doc.com/content/16/0323/12/30594241_544573920.shtml

    1.NSString如何计算字符的个数?

    2.PKI体系当中加密和签名有什么区别?

    3.如何自己高效实现NSUserDefault?

    4.解释下tcp的慢启动特性。

    5.如何用HTTP实现长连接?

    6.HTTP2.0针对同一个域名的多个请求,会建立多少个tcp连接?

    7.数据库建表的时候索引有什么用?

    8.Full Text Search为什么快?

    9.iOS下如何实现指定线程数目的线程池?

    10.介绍下iOS设备获取唯一设备号的历史变迁。

    11.函数式编程当中的 first-class function是什么意思呢?

    12.如何使用runtime hook一个class的某个方法,又如何hook某个instance的方法?

    13.谈下Objective C都有哪些锁机制,你一般用哪个?

    14.聊下HTTP post的body体使用form-urlencoded和multipart/form-data的区别。

    15.让你设计一种机制检测UIViewController的内存泄漏,你会怎么做?

    16.通过[UIImage imageNamed:]生成的对象什么时候被释放?

    17.applicationWillEnterForeground和applicationDidBecomeActive都会在哪些场景下被调用?举例越多越好。

    18.如何终止正在运行的工作线程?

    19.穷举iOS下所有的本地持久化方案。

    20.如果公司强制996,你有什么心里话要对老板说吗?

    面试流程:(1)自我介绍、项目经历、专业知识、自由提问

    (2)准备简历、投发简历、笔试(电话面试、)、面试、复试、终面试、试用、转正、发展、跳槽(加薪升职)

    1闲聊

    a)自我介绍:自我认识能力

    b)评价上一家公司:社会认知能力

    c)兴趣爱好(书,电影,音乐,dota等),能否在爱好领域达到比较深的地步

    2让面试者先讲一会他现在所做的项目,5分钟左右。

    a)做事热情

    b)沟通能力

    c)专业知识水平

    d)团队融合度

    f)思维是否清楚,程序经验以及聪明程度

    3写一个foo-bar逻辑判断小程序。(从1-100遍历一遍,如果是3的倍数,输出foo,如果是5的倍数,输出bar,如果是3和5的倍数,输出foobar.)

    #include

    Int main()

    {

    For(int i=1;i<=100;i++){

    If(i%3==0){

    Printf(“%d”,foo);}

    Else(i%5==0){

    Printf(“%d”,bar);}

    Elseif(i%3&&i%5==0){

    Pritf(“%d”,foobar);}

    }

    }

    iOS专业能力考察内容

    第一级,数字1. 2. 3。属于应该知道范畴,应能回答出来80%以上,算是能干活的人。可以用来面试1-2年经验的人。

    第二级,字母a) b) c)。属于有较深理解内容,应能回答出来30%-50%,说明或深或浅的在各知识点有一些研究。能把任何一个问题讲得透彻明白的,都加分。可以用来面试2-3年经验的人。

    第三级,罗马数字i. ii,iii.。属于较高级认识阶段,应能回答出10%-20%左右。

    1.简述关键字assign,retain,copy,strong,weak,nonatomic,readonly,setter,synthesize的作用。

    a)    ARC是什么,其实现原理.

    b)请简述非ARC内存管理方式的关键原则。ARC的优缺点。

    2.请简述一些UIView的常见属性的作用及其默认值。(superView、subview、frame、tag、bounds,center等)

    a)    frame属性与bounds属性的作用与区别。

    i.做动画时应使用哪个属性?为什么?

    b)    CALayer与UIView的关系及各自的作用。

    3.请列举UITableViewDelegate、UITableViewDataSource里的函数。哪些是必须实现的(numberOfSection、numberOfRow, cellForRow)?哪些是不必实现的?(highForRowAtIndexPath\viewForHeaderInSection\ didSelectRowAtIndexPath)

    a)请简述自己实现一个简单tableView的思路与关键点。(内存重用)

    4.按下UIButton到手指从屏幕离开,总共可以触发哪些函数?

    a)触控事件有哪几个状态?

    b)    UIWindow,UIView,UIViewController,UIApplication,UIResponder,UIScreen的父类是什么。

    c)事件响应链流程。

    i.  hitTest、pointInside如何修改事件响应的顺序。

    5.   UIViewController的生命周期。

    6.你使用过或见过哪些动画方式。

    a)它们的效率有差别么?有的话请排序。

    b)请简述CAKeyframeAnimation的使用方法。

    i.请简述显式事务、隐式事务及事务嵌套。

    ii.贝塞尔曲线是什么?你在哪见过它?(动画里的时间函数CAMediaTimingFunction、路径函数等都是贝塞尔曲线)

    7.定义一个block变量。int (^testBlock)(int a, int b ,...);

    void (^testBlock2)(int) = ^(int num){

    return num * num;

    };

    a)循环引用导致的内存问题

    i.        block的底层实现

    8.     NSNotification和KVO的区别和用法是什么?

    a)它们的实现上有什么区别?

    b)如果用protocol和delegate(或者delegate的Array)来实现类似的功能,可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?

    9.请简述你用过的iOS多线程方式。

    a)    NSOperation中start和main方法有什么区别?b)使用GCD处理一些并行任务,可以有哪些方法。哪种方法最好最值得推荐?

    c)是否使用过信号量或条件锁。

    i.        iOS系统多线程模型及它们的优缺点。

    ii.常见基础类中,哪些类是线程安全的?KVO是线程安全的么?不

    10.请简述iOS持久化存储有哪些方式。

    11.请简述你在iOS开发中见到的一些设计模式。

    12.使用过Objective-C的运行时编程(Runtime Programming)么?用它做了什么?记得所使用的相关的头文件或者某些方法的名称吗?

    13.使用过哪些Core打头的内容(CoreData,CoreAnimation,CoreGraphics,CoreText,CoreImage)。

    a)评价任一Core打头的框架。

    b)    CA框架、CG框架和UI框架的联系是什么。

    高级面试题:

    1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?

    2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?

    3.Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容)

    4.是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。

    5.NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了...)

    6.你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和GCD的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。

    7.既然提到GCD,那么问一下在使用GCD以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么?

    8.您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么?

    9.对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做?

    10.你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。

    相关文章

      网友评论

        本文标题:招聘靠谱ios

        本文链接:https://www.haomeiwen.com/subject/oqlqgttx.html