iOS面试题积累(1)

作者: 跨境大师兄 | 来源:发表于2019-10-28 21:07 被阅读0次

    1.(单选)下面的http状态码中哪一个是状态码是标注请求不正确地:()
    A.302 是请求链接错误或者找不到服务器。
    B.500以上是服务器错误。
    C.200以上是正确。
    D.100以上是请求接受成功。

    答案:A
    参考链接

    2.(单选)下面关于Objective-C内存管理的描述错误的是:()
    A.当使用ARC来管理内存时,代码中可以出现autorelease
    B.autoreleasepool 在 drain 的时候会释放在其中分配的对象
    C.当使用ARC来管理内存时,在线程中大量分配对象而不用autoreleasepool则可能会造成内存泄露

    答案:C

    参考链接

    3.使用imageNamed方法创建UIImage对象时,与普通的init方法有什么区别?()
    A.没有区别,只是为了方便
    B.imageNamed方法只是创建了一个指针,没有分配其他内存
    C.imageNamed方法将图片加载到内存中后不再释放
    D.imageNamed方法将使用完图片后立即释放

    答案:C

    4.下面对category描述不正确的是()
    A.category可以添加新的方法
    B.category可以删除修改之前的方法
    C.将类的实现分散到多个不同文件或多个不同框架中
    D.创建对私有方法的前向引用

    答案:C

    参考链接

    5.多线程中栈与堆是公有的还是私有的()
    A.栈公有,堆私有
    B.栈公有,堆公有
    C.栈私有,堆公有
    D.栈私有,堆私有

    答案:C

    参考链接

    6.以下哪个算法不是对称加密算法()
    A.DES
    B.RC5
    C.AES
    D.RSA

    答案:D

    参考链接

    7.已知有序序列b c d e f g q r s t,则在二分查找关键字b的过程中,先后进行比较的关键字依次是多少?()
    A.f d b
    B.f c b
    C.g c b
    D.g d b

    答案:B

    参考链接

    9.UIEdgeInsets edgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);@synchronized(edgeInsets)}关于以上代码,正确的说法()
    A. 写在大括号内部的代码,会保证多线程访问edgeInsets不出错
    B. UIEdgeInsetsMake是构造UIEdgeInsets数据类型的方法
    C. UIEdgeInsets本质上是OC中的基本数据类型
    D. 代码错误

    答案:D

    只能存放对象类型 id 现在是一个基本数据类型
    UIEdgeInsets 是比较特殊的类型,和NSRange 、CGRect一样本质上都是结构体类型。因为OC没有命名空间,所以只能使用前缀来区分,但OC中许多非对象类型同样使用和对象类型的一样前缀,注意甄别(一般非对象类型创建时无*号,id除外)。
    @synchronized用来保护被访问的对象同时只能有一个线程操作,保证了线程访问对象时不出错。

    9.单例类NSNotificationCenter提供信息广播通知,它采用的是观察者模式的通知机制。
    A.对
    B.错

    答案:A

    参考链接

    10.添加子视图的方法中,是下列哪个面向对象特性的体现?
    A.封装
    B.继承
    C.多态
    D.协议

    答案:C

    11.为应用程序创建window的时候,以下哪个是声明成属性的必要原因?
    A. 类的内部可以访问。
    B. 类的外部可以访问。
    C. 延长生命周期。
    D. 拷贝window副本。

    答案:B

    12.以下那个属性可以导致view向右向下平移10个point?
    A. simpleView.transform = CGAffineTransformMake(10,10, 1, 1, 0, 0);
    B. simpleView.transform = CGAffineTransformMake(1, 1, 10, 10, 0, 0);
    C. simpleView.transform = CGAffineTransformMake(1, 0, 1, 0, 10, 10);
    D. simpleView.transform = CGAffineTransformMake(1, 0, 0, 1, 10, 10);

    答案:D

    13.以下是定义cell重用标识符的语句:static NSString * const reuseIdentifier = @"Cell"; 关于以上代码说法正确的是?
    A. static是为了修饰变量是全局区域的
    B. static是为了修饰变量是可以被其它类引用为全局变量的
    C. const是为了修饰 reuseIdentifier指针本身不可以改变
    D. const是为了修饰 reuseIdentifier指针指向的内容不可以改变

    答案:C

    14.下列哪项不属于数据持久化?()
    A. 属性列表
    B. Core Data
    C. NSUserDefaults
    D. 归档和反归档

    答案:D

    15.有以下程序段 int k=0; while(k=1) k++; 则while循环执行的次数是()
    A.无限次
    B.有语法错,不能执行
    C.一次也不执行
    D.执行1次

    答案:D

    k=1 是一条赋值语句,令 k 的值等于 1。语句 k = 1 的结果是 永远是 1 , while(k=1) = while(1) ,是死循环,执行无限次
    k == 1 才是一条逻辑语句,判断 k 的值是否等于1 。如果 k 的值等于 1 , k==1 的结果是1,否则是0。

    16.请看下面一段代码

    int main(){
            int b = 2;
            char *c = NULL;
            c = (char *)malloc(100 * sizeof(char));
        return 0;
    }   
    

    请问访问a,b,c 3种类型变量的效率从高到低依次是 ()
    A. cba
    B. abc
    C. acb
    D. bca

    答案:B

    17.下面四种内部排序算法中哪一种在最差情况下时间复杂度最高?( )
    A. 快速排序
    B. 冒泡排序
    C. 堆排序
    D. 归并排序

    答案:B

    18.下面哪个方法不属于NSObject的内省(Introspection)方法
    A. init
    B. isKindOfClass
    C. responseToSelector
    D. isMemberOfClass

    答案:A

    参考链接

    19.下面哪个不属于对象数据序列化方法 ( )
    A. JSON
    B. Property List
    C. XML
    D. HTTP

    答案:D

    20.一个类的delegate(代理)的作用不正确的是
    A. delegate中的函数在其他类中实现
    B. 主要用于不同类型的对象之间一对一传递消息
    C. 没有指派则不会触发
    D. 可以一个对象的delegate指派给多个其他类型的对象

    答案:D

    相关文章

      网友评论

        本文标题:iOS面试题积累(1)

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