搜狗面试总结(一面)
2016-10-31 10:47
357 查看
前两天去搜狗面试,虽然荣幸的过了一面,但是二面还是很担心的😟
总结一下 一面的题 把 没有一家公司会面时一个人二个多小时吧 有点坑
不过大公司面试 牵扯到很多 底层 算法的问题,还有一些智商的问题。总之、各自安好吧
1, aoturelsepoll 什么时候用?
2, 自动释放时系统都做了那些功能
3, 第一次加载 缓存了 返回再进入时 为什么重复加载了
4, 都用过哪些 运行时 改变了什么 ?
5, block 使用时 要注意什么
6, 修饰词 有哪些 什么时候用
7, GPUimage的使用
8,在copy时 NSarraycopy 和 nsmutarblearraycopy 的区别
9,观察者模式 的分类?
[※]@property中有哪些属性关键字?
[※]weak属性需要在dealloc中置nil么?
[※※]@synthesize和@dynamic分别有什么作用?
[※※※]ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些?
[※※※]用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
[※※※]@synthesize合成实例变量的规则是什么?假如property名为foo,存在一个名为_foo的实例变量,那么还会自动合成新变量么?
[※※※※※]在有了自动合成属性实例变量之后,@synthesize还有哪些使用场景?
[※※]objc中向一个nil对象发送消息将会发生什么?
[※※※]objc中向一个对象发送消息[obj foo]和objc_msgSend()函数之间有什么关系?
[※※※]什么时候会报unrecognized selector的异常?
[※※※※]一个objc对象如何进行内存布局?(考虑有父类的情况)
[※※※※]一个objc对象的isa的指针指向什么?有什么作用?
[※※※※]下面的代码输出什么?
Objective-C
1234567891011 @implementation Son : Father- (id)init{self= [superinit];if(self){NSLog(@"%@",NSStringFromClass([selfclass]));NSLog(@"%@",NSStringFromClass([superclass]));}returnself;}@end
[※※※※]runtime如何通过selector找到对应的IMP地址?(分别考虑类方法和实例方法)
[※※※※]使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?
[※※※※※]objc中的类方法和实例方法有什么本质区别和联系?
[※※※※※]_objc_msgForward函数是做什么的,直接调用它将会发生什么?
[※※※※※]runtime如何实现weak变量的自动置nil?
[※※※※※]能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
[※※※]runloop和线程有什么关系?
[※※※]runloop的mode作用是什么?
[※※※※]以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?
[※※※※※]猜想runloop内部是如何实现的?
[※]objc使用什么机制管理对象内存?
[※※※※]ARC通过什么方式帮助开发者管理内存?
[※※※※]不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建)
[※※※※]BAD_ACCESS在什么情况下出现?
[※※※※※]苹果是如何实现autoreleasepool的?
[※※]使用block时什么情况会发生引用循环,如何解决?
[※※]在block内如何修改block外部变量?
[※※※]使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
[※※]GCD的队列(dispatch_queue_t)分哪两种类型?
[※※※※]如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)
[※※※※]dispatch_barrier_async的作用是什么?
[※※※※※]苹果为什么要废弃dispatch_get_current_queue?
[※※※※※]以下代码运行结果如何?
Objective-C
123456789 - (void)viewDidLoad{[superviewDidLoad];NSLog(@"1");dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"2");});NSLog(@"3");}
[※※]addObserver:forKeyPath:options:context:各个参数的作用分别是什么,observer中需要实现哪个方法才能获得KVO回调?
[※※※]如何手动触发一个value的KVO
[※※※]若一个类有实例变量NSString *_foo,调用setValue:forKey:时,可以以foo还是_foo作为key?
[※※※※]KVC的keyPath中的集合运算符如何使用?
[※※※※]KVC和KVO的keyPath一定是属性么?
[※※※※※]如何关闭默认的KVO的默认实现,并进入自定义的KVO实现?
[※※※※※]apple用什么方式实现对一个对象的KVO?
[※※]IBOutlet连出来的视图属性为什么可以被设置成weak?
[※※※※※]IB中User Defined Runtime Attributes如何使用?
[※※※]如何调试BAD_ACCESS错误
[※※※]lldb(gdb)常用的调试命令?
其实大公司面试 还是不错的,有咖啡,有饮料 有茶水间,气氛向咖啡厅谈事情 二轮是笔试 加油!!!
总结一下 一面的题 把 没有一家公司会面时一个人二个多小时吧 有点坑
不过大公司面试 牵扯到很多 底层 算法的问题,还有一些智商的问题。总之、各自安好吧
1, aoturelsepoll 什么时候用?
2, 自动释放时系统都做了那些功能
3, 第一次加载 缓存了 返回再进入时 为什么重复加载了
4, 都用过哪些 运行时 改变了什么 ?
5, block 使用时 要注意什么
6, 修饰词 有哪些 什么时候用
7, GPUimage的使用
8,在copy时 NSarraycopy 和 nsmutarblearraycopy 的区别
9,观察者模式 的分类?
[※]@property中有哪些属性关键字?
[※]weak属性需要在dealloc中置nil么?
[※※]@synthesize和@dynamic分别有什么作用?
[※※※]ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些?
[※※※]用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
[※※※]@synthesize合成实例变量的规则是什么?假如property名为foo,存在一个名为_foo的实例变量,那么还会自动合成新变量么?
[※※※※※]在有了自动合成属性实例变量之后,@synthesize还有哪些使用场景?
[※※]objc中向一个nil对象发送消息将会发生什么?
[※※※]objc中向一个对象发送消息[obj foo]和objc_msgSend()函数之间有什么关系?
[※※※]什么时候会报unrecognized selector的异常?
[※※※※]一个objc对象如何进行内存布局?(考虑有父类的情况)
[※※※※]一个objc对象的isa的指针指向什么?有什么作用?
[※※※※]下面的代码输出什么?
Objective-C
1234567891011 @implementation Son : Father- (id)init{self= [superinit];if(self){NSLog(@"%@",NSStringFromClass([selfclass]));NSLog(@"%@",NSStringFromClass([superclass]));}returnself;}@end
[※※※※]runtime如何通过selector找到对应的IMP地址?(分别考虑类方法和实例方法)
[※※※※]使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?
[※※※※※]objc中的类方法和实例方法有什么本质区别和联系?
[※※※※※]_objc_msgForward函数是做什么的,直接调用它将会发生什么?
[※※※※※]runtime如何实现weak变量的自动置nil?
[※※※※※]能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
[※※※]runloop和线程有什么关系?
[※※※]runloop的mode作用是什么?
[※※※※]以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?
[※※※※※]猜想runloop内部是如何实现的?
[※]objc使用什么机制管理对象内存?
[※※※※]ARC通过什么方式帮助开发者管理内存?
[※※※※]不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建)
[※※※※]BAD_ACCESS在什么情况下出现?
[※※※※※]苹果是如何实现autoreleasepool的?
[※※]使用block时什么情况会发生引用循环,如何解决?
[※※]在block内如何修改block外部变量?
[※※※]使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
[※※]GCD的队列(dispatch_queue_t)分哪两种类型?
[※※※※]如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)
[※※※※]dispatch_barrier_async的作用是什么?
[※※※※※]苹果为什么要废弃dispatch_get_current_queue?
[※※※※※]以下代码运行结果如何?
Objective-C
123456789 - (void)viewDidLoad{[superviewDidLoad];NSLog(@"1");dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"2");});NSLog(@"3");}
[※※]addObserver:forKeyPath:options:context:各个参数的作用分别是什么,observer中需要实现哪个方法才能获得KVO回调?
[※※※]如何手动触发一个value的KVO
[※※※]若一个类有实例变量NSString *_foo,调用setValue:forKey:时,可以以foo还是_foo作为key?
[※※※※]KVC的keyPath中的集合运算符如何使用?
[※※※※]KVC和KVO的keyPath一定是属性么?
[※※※※※]如何关闭默认的KVO的默认实现,并进入自定义的KVO实现?
[※※※※※]apple用什么方式实现对一个对象的KVO?
[※※]IBOutlet连出来的视图属性为什么可以被设置成weak?
[※※※※※]IB中User Defined Runtime Attributes如何使用?
[※※※]如何调试BAD_ACCESS错误
[※※※]lldb(gdb)常用的调试命令?
其实大公司面试 还是不错的,有咖啡,有饮料 有茶水间,气氛向咖啡厅谈事情 二轮是笔试 加油!!!
相关文章推荐
- 搜狗面试归来总结
- 面试--百度网页搜索部一面总结
- 搜狗测试面试总结
- 搜狗面试笔试一面二面全经历
- 滴滴出行面试总结,(一面,后台开发C++)
- 搜狗实习面试总结
- 百度质量部测试开发实习生面试总结(技术一面)
- 腾讯实习生面试一面笔试题总结
- 2015我的校招季,阿里、搜狗、百度、蘑菇街面试总结
- 2018PHP春招面试--百度一面(电面)总结
- java开发网易电话面试 一面总结
- 2010大四面试经验(历程总结,笔试,群面,一面,二面,霸笔,霸面技巧和心得)
- 2015校招季,阿里、搜狗、百度、蘑菇街面试总结
- 阿里巴巴2016前端开发实习生面试一面面经(总结)
- 【面试总结】2019校招京东一面二面,及深信服技术面(已拿深信服offer),还有百度一面
- java开发网易电话面试 一面总结
- 蚂蚁金服面试总结(一面没过)
- 2015--阿里、搜狗、百度、蘑菇街、人人, 一点点面试总结
- 【面试总结】腾讯MIG一面
- 搜狗面试笔试一面二面全经历