说一下面试过程吧,一小时
1、首先简单的自我介绍
2、项目中遇到的难点以及如何解决的
3、如何实现一个scrollview,使用view实现scrollview的功能
4、如何实现一个tableview,使用scrollview或者其他,如何设计tableview的接口,以及如何处理cell的复用
5、UIView渲染到屏幕的过程,越详细越好
6、UIView和CALayer的关系(区别)
7、Xcode中的workspace、xcodeproj、target、schema的关系
8、load和initialize的区别,调用时机。
9、算法题 (要求十分钟内写出代码)
找出一个数组中的所有 K 数。(K 数定义:前面的数都比它小,后面的数都比它大。)
举例:1 3 2 4 7 5 9 其中K数有:1 4 9
算法题我用的是暴力解法,时间复杂度是O(n^2)。遗憾的是,忘记处理了小于的数
- (NSArray *)filterKNumWithArray:(NSArray *)nums { NSMutableArray *result = [NSMutableArray array]; for (int i = 0; i < nums.count; i++) { int num = [nums[i] intValue]; for (int j = 0; j < nums.count; j++) { if (j == i) continue; if (j < i) { if (num < [nums[j] intValue]) { break; } } else { if (num > [nums[j] intValue]) { break; } } [result addObject:nums[i]]; } } return result; }
比较遗憾,不过也知道自己有很多不足之处。
全部评论
(4) 回帖