美文网首页
iOS求职面试题目搜集<阿里,腾讯,网易>

iOS求职面试题目搜集<阿里,腾讯,网易>

作者: 窗外山海帆 | 来源:发表于2017-12-01 14:56 被阅读28次

    iOS系统原理:

    1.  编译过程做了哪些事情?
    2.  字典大致实现原理?
    3.  block和函数指针的理解?
    4.  block本质是什么?
    5.  你了解的UIKit结构?
    6.  NStimer准吗?谈谈你的看法?如果不准该怎样实现一个精确的NSTimer?
    7.  KVC机制是如何通过key找到value?
    8.  runtime如何通过selector找到对应的IMP地址?
    9.  runloop内部实现逻辑?
    10. 你理解的多线程?
    11. GCD执行原理?
    12. NSThread,GCD,NSOperation相关的。开启一条线程的方法?线程可以取消吗? 
    13. 子线程中调用connection方法,为什么不回调?因为没有加入runloop,执行完任务就销毁了,所以没有回调。
    14. autorelease变量什么时候释放?手动添加的是大括号结束的时候释放,系统自动释放是在当前runloop循环结束的时候。 
    15. 那子线程中的autorelease变量什么时候释放? 
    16. 子线程里面,需要加autoreleasepool吗 
    17. GCD和NSOperation的区别? 
    18. 项目里面遇到过死锁吗?怎么解决?
    19. iOS中后台运行的几种机制 ?
    20. 蓝牙的框架,以及蓝牙的类,实现方式。?
    21. 离屏渲染问题的本质是什么?
    22. 在block里面使用_property会造成循环引用吗?怎么解决?除了使用self->_property,可以使用valueforkey来访问吗  在block里面可以修改它的值吗setvalueforkey?可以修改它的值,可以用valueforkey来解决,显式的的使用self,block外先持有self的弱引用。
    23. 说一下runtime?为什么OC里面是发消息,而C/C++是函数调用? 
    24. 说下OC发消息的过程 ?
    25. 什么是OC对象?union是OC对象吗 block是OC对象吗 ?
    26. id是什么类型?是一个指针类型的,可以指向任意OC对象类型的通用对象类型。定义也是结构体。?
    27. Viewcontroller的生命周期?
    28. 在init方法里面,设置背景颜色,会生效吗 会生效。为什么会?
    

    第三方:

    1.  使用了第三方库, 有看他们是怎么实现的吗?
    2.  说说你最熟悉的第三方,知晓其原理么?
    3.  YYAsyncLayer如何异步绘制?
    4.  AsycDisplayKit 原理 ?
    

    性能、内存优化:

    1.  遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些?
    2.  用过 TableView 吗,平时怎么解决 TableView 滑动卡顿问题的?
    3.  app内存你是如何分析的?
    4.  介绍下内存的几大区域?
    5.  优化你是从哪几方面着手?
    6.  APP性能优化:内存泄露检测、卡顿检测,自己做应该怎么做?
    7.  内存泄露的几种情况分析;(简历上写的解决了一些内存泄露的问题) ?
    8.  解决过的最精彩的crash问题?
    9.  自定义一个类,有两个方法,一个是以new开头的,另一个不是以new开发的,方法里面都是alloc init方法,这两个方法有什么不同?引用计数变化?ARC下,编译器会插入什么语句? 
    10. ARC和MRC的本质区别是什么?
    

    设计模式:

    M、V、C相互通讯规则你知道的有哪些?
    

    系统架构设计:

    1.  一般开始做一个项目,你的架构是如何思考的?
    2.  介绍一下做过的项目,任务分工,做了哪些工作?介绍工作内容
    3.  项目里面的数据存储都用了哪些?知道iOS里面有哪些数据存储方法?什么时候该用哪些方法存储?
    
    

    网络模型协议数据:

    1.  网络模型了解么?有哪几种?说说你的看法?
    2.  Https概念,iOS中设置https  ?
    3.  HTTP请求过程 ?
    4.  在杭州HTTP请求服务器响应快,可能离服务器距离近,而在深圳访问就很慢很慢,会是什么原因?如果用户投诉,怎么分析这个问题? 
    5.  HTTP请求的哪些方法用过?什么时候选择get、post、put? 
    6.  TCP建立连接的过程,断开连接的过程,为什么是四次握手?
    7.  网络相关的:项目里面使用到什么网络库,用过ASIHTTP库吗 ?
    8.  断点续传怎么实现?需要设置什么?
    
    

    动画原理及使用:

    Core animation 动画与UIView动画的区别,动画执行过程中是否响应事件?
    

    数据结构算法分析:

    1.  强连通分量了解嘛?
    2.  二叉树的广度遍历 ?
    3.  链表的遍历?
    4.  100W数据中找到最大的10W,使用什么数据结构?
    5.  数据结构与算法相关。知道哪些数据结构?线性表(具体点  数组)连接、栈、队列、二叉树、堆 ?
    6.  iOS中哪里用到栈了?开发过程中哪里用到链表了?栈的特点,链表的特点 
    7.  什么是完全二叉树?堆是什么数据结构?
    8.  向量和链表的区别?什么时候选择vector?什么时候选择使用链表? 
    9.  100个数,找出其中重复的数? 
    10. 10个数,找出其中最大数和最小数,没有值相等的?
    11. 归并排序的过程 ?
    12. 堆排序的过程、快排的过程 ?
    
    

    编程语言:

    1.  swift语言当中defer的含义,guard ?
    2.  C++相关的。什么是虚函数?虚函数是怎么实现的?什么是多态?
    3.  为什么类的析构函数设置成虚函数?为什么构造函数不设置成虚函数?
    
    

    调试及Bug:

    1.  Crash ,Bug收集 SDK的原理,自己做应该怎么做?
    2.  发布出去的版本,怎么收集crash日志?不使用bugly等第三方平台或者这些第三方平台是怎么收集crash日志的?
    
    

    其他:

    1.  你一般学习iOS是如何学习的?
    2.  你是如何组件化解耦的?
    3.  怎么防止别人反编译你的app?
    4.  手势V如何做出来  ?
    5.  音视频开发,二维码扫描库  ?
    6.  问题:有A B C D E五个类,都要监听登录和注册的通知,发通知给它们五个控制器麻烦,就写了一个单例类,负责发通知,需要接受通知的就实现delegate,因为单例类里面的数组引用了这几个VC,导致不释放,怎么解决?
    7.  WWDC2016公布了哪些新特性?对苹果系列的最新特性有关注吗 ?
    8.  为什么做iOS开发,不做安卓开发?
    9.  如果父类有一个成员变量A,子类有A,B两个变量,父类指针指向了子类,父类执行delete方法,子类的变量会被释放吗?怎么才能被释放?执行子类的delete方法,两个变量会被释放吗?
    10. 你最出色的是哪方面?iOS开发,iOS开发的哪一方面?
    
    

    相关文章

      网友评论

          本文标题:iOS求职面试题目搜集<阿里,腾讯,网易>

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