zoukankan      html  css  js  c++  java
  • 李洪强经典面试题26(选择题)

    1.及时聊天app不会采用的网络传输方式是 D

    A UDP B TCP C Http D FTP

    2.下列技术不属于多线程的是 A

    A Block B NSThread C NSOperation D GCD

    3.线程和进程的区别不正确的是 B

    A 进程和线程都是由操作系统所体会的程序运行的基本单元 B 线程之间有单独的地址空间 C 进程和线程的主要差别在于它们是不同的操作系统资源管理方式 D 线程有自己的堆栈和局部变量

    4. 堆和栈的区别正确的是 D

    A 对于栈来讲,我们需要手工控制,容易产生memory leak。 B 对于堆来说,释放工作由编译器自动管理,无需我们手工控制 C 在Windows下,栈是向高地址扩展的数据结构,是连续的内存区域,栈顶的地址和栈的最大容量是系统预先规定好的。 D 对于堆来讲,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。

    5. 下列回调机制的理解不正确的是    B

    A 目标动作对:当两个对象之间有⽐比较紧密的关系时,如视图控制器与其下的某个视图。        B 代理:也叫委托,当某个对象收到多个事件,并要求同一个对象来处理所有事件时。委托机制必须依赖于某个协议定义的⽅方法来发送消息。        C 通告机制:当需要多个对象或两个⽆无关对象处理同一个事件时。        D Block:适⽤于回调只发⽣生一次的简单任务。

    6. 对于runloop的理解不正确的是 C

    A 每一个线程都有其对应的RunLoop B 默认非主线程的RunLoop是没有运行的 C 在一个单独的线程中没有必要去启用RunLoop D 可以将NSTimer添加到runloop中

    7. UITableView中cell的复用是由几个数组实现的 B

    A 1 B 2 C 3 D 3或4

    8. 在线播放视频一般访问服务器中的 类型文件 A

    A M3U8 B flv C MP4 D data

    9. 点击Button响应链中最终得到响应的是 B

    A Window B Application C AppDelegate D UIViewController

    10。 内存管理理解不正确的是 B

    A 程序A里有一段内存被成功申请完成之后,内存计数器就从0变为1 (这个过程是alloc);

    B 程序B里要使用已存在内存,那么内存计数器从1变为2 (这个过程是retain或者copy); C 紧接着程序A不需要这个内存了,那么程序A就把这个内存计数器减1 (这个过程是release); D 当系统发现这个内存计数器变为小于等于0,那么就调用垃圾回收程序把这段内存回收(这个过程是dealloc);

    11 断点续传需要在请求头中添加的控制续传最重要的关键字是 A A range B length C type D size

    12 post传输的最大文件限制为 C

    A 1G B 2G C 4G D 8G

    13 MVC优点不正确的是 D

    A 低耦合性 B 高重用性和可适用性 C 较低的生命周期成本 D 代码高效率

    31 求以下程序段的输出int test(int x, int y){ x = x + y; return x * y;}int main(int argc, const char * argv[]){ @autoreleasepool { int x = 3, y = 10, z = test(x, y); NSLog(@"%d%d", x++, ++z); } return 0;} 答案是 A A 331 B 330 C 431 D 430

    32 求以下程序段的输出int func(int x){ int countx = 0; while (x) { countx++; x = x&(x-1); } return countx;}int main(int argc, const char * argv[]){ @autoreleasepool { NSLog(@"%d", func(2013)); } return 0;}答案: D A 1 B 5 C 8 D 9

    33 下面说法不正确的是 C A readwrite 是可读可写特性;需要生成getter方法和setter方法时 B readonly 是只读特性 只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变 C assign 是赋值特性,和weak一样,可用weak代替; D retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;

    34 对于语句NSString*obj = [[NSData alloc] init]; obj在编译时和运行时分别时什么类型的对象? A

    A 编译时是NSString的类型;运行时是NSData类型的对象 B 编译时是NSObject的类型;运行时是NSData类型的对象 C 编译时是NSData的类型;运行时是NSString类型的对象 D 编译时是NSObject的类型;运行时是NSString类型的对象

    35 Object C中的线程下面描述不正确的是 B

    A 使用NSThread创建、使用GCD的dispatch B 直接使用NSOperation,然后将其加入NSOperationQueue; C 在主线程执行代码,方法是performSelectorOnMainThread, D 如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:

    36 下列不属于iOS存储方式的是 A

    A NSFileManager B 归档 C SQLite D CoreData

    37 IP Phone的原理是什么? C

    A IPV4 B DHCP C IPV6 D DNS

    38 类别的作用不正确的是 D

    A 将类的实现分散到多个不同文件或多个不同框架中。 B 创建对私有方法的前向引用。 C 向对象添加非正式协议。 继承可以增加,修改或者删除方法。 D 不能添加属性

    39 对NSOperationQueue理解不正

    39 对NSOperationQueue理解不正确的是 D

    A 存放NSOperation的集合类 B 可以设置最大并发数 C 放进去的线程会自动执行 D 用户需要管理放进去的线程执行顺

  • 相关阅读:
    枚举和字符串转换
    JavaScript string.format
    Jquery 中toggle的用法举例
    JQuery 实现倒计时
    找位置
    图算法
    文件操作总结
    动态规划——总结
    回文字符串
    a+b_1
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5645907.html
Copyright © 2011-2022 走看看