首页 > 字节一面,凉经
头像
王煜仁
编辑于 2021-06-06 22:43
+ 关注

字节一面,凉经 内部员工回复

说一下面试过程吧,一小时
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) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐