亲历互联网大厂面试题

作者: 渡边君WM | 来源:发表于2018-09-07 09:49 被阅读36次

    1、搜狐面试:

    1.1 sizeof(cgfloat) sizeof(nsinteger)

    1.2 判断多少位的 32 64

    1.3 用到的Ui控件都有哪些

    1.4 都有哪些控件是基于uicontrol的

    1.5 如何判断一个数组的有序性,例如数组里放“[”,“]”,怎么判断这个数组是有序的

    1.6 Cgfloat是苹果自己创造出来的数据吗

    1.7 了解tcp的三次握手吗

    2、阿里-高德面试:

    2.1 响应链

    2.2 都有哪些控件是基于uicontrol的

    2.3 关于内存的问题有哪些

    2.4 创建一个子线程然后每秒打印一次当前时间(考察runloop)

    2.5 Setvalue forkey和setobject forkey的区别

    2.6 浅拷贝和深拷贝的区别

    2.7

    int a = 1;

    void ^(int b) = ^(int b){

    a++

    ; }

    运行上面函数,a是多少,。上面的有错误吗?(有错误,int a = 1,应该改为__block int a = 1,否则无法进行操作)

    2.8 id dic = @{@“name”:@“1”} id copyDic = [dic copy]; [copyDic setvalue:@“2” forkey:@“name”] 问dic会变吗 ?(套路题,这个直接崩溃在setvalue那行代码,因为copyDic本身是不可变字典)

    2.9 问项目中聊天模块基于什么协议

    2.10 arc和mrc

    2.11 如何判断32位和64位 - (BOOL)is64bit { #if defined(__LP64__) && __LP64__ return YES; #else return NO; #endif } 解释:LP64是什么: LP分别代表数据类型中的long,pointer。即,长整型,指针。这二种类型及其任意组合为8个字节,即64位。其他的数据类型要么是4字节,要么是2字节,要么是1字节。

    2.12 __block int a = 0;//注意要加上__block修饰符,否则报错Variable is not assignable (missing __block type specifier) void (^blockName)(int b) = ^(int b){ a = a + b; }; blockName(2); NSLog(@“a:%d”,a);//结果为2

    2.13 列表一直滑动保存到本地的数据会一直增多 怎么处理这种情况

    3、阅文:

    3.1 kvo原理

    3.2 为什么不可以给catogry添加属性

    3.3 怎么理解动oc态性

    3.4 怎么理解的组件化

    3.5 编译和运行的区别

    相关文章

      网友评论

        本文标题:亲历互联网大厂面试题

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