iOS开发有梦才会去努力野草集

亲历互联网大厂面试题

2018-09-07  本文已影响36人  渡边君WM

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 编译和运行的区别

上一篇 下一篇

猜你喜欢

热点阅读