字节一面,凉经

说一下面试过程吧,一小时
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;
}



比较遗憾,不过也知道自己有很多不足之处。

#面经##iOS工程师#
全部评论
算法题可以用两个数组来分别存每个数字对应的左边区域的最大值&nbsp;和右边区域的最小值,然后直接判断每个数字是不是K数。这样可以O(n)
4 回复
分享
发布于 2021-07-15 16:57
借楼打下广告~😘 字节影像客户端欢迎内推~(剪映/轻颜/faceU/醒图/CapCut)  #字节跳动内推码#  团队有完善的培养计划,帮助零基础新入职同学快速入门!欢迎大家投递简历哇🤩 https://www.nowcoder.com/discuss/684256
1 回复
分享
发布于 2021-07-15 16:31
联想
校招火热招聘中
官网直投
十分钟之内也太难了
点赞 回复
分享
发布于 2021-06-06 21:28
楼主,这是哪个部门啊
点赞 回复
分享
发布于 2021-06-12 14:02

相关推荐

头像
不愿透露姓名的神秘牛友
04-18 01:10
字节 后端 10k go
点赞 评论 收藏
转发
2 21 评论
分享
牛客网
牛客企业服务