快手-Android一二面
1.一面
忘了挺多内容了,只记得个大概
算法
- 一个整型的数组,有n个数,每个数的取值范围是[0,100),无序,可重复,求第k小的数?
口头说 3种实现方式:堆、快排、桶排序,推导每种方式的时间复杂度。 - 编程:n*m的二维数组,从左上角开始,顺时针螺旋打印数组。
敲代码项目
问项目相关内容网络
说一下TCP拥塞控制
2.二面
完全没问Android和Java方面的内容,面试官说注重基础和数学底子、不关心经验相关的内容
- 讲一个觉得做的最好的项目
- 复盘一面算法题1中的堆实现(大顶堆or小顶堆?),最大、平均时间复杂度。在现实应用中的时间复杂度。假设有1000个商品和10000个商品,找出前100个浏览量最多的商品,这两者实际运用时的时间复杂度各自是?
面试官说1-2天等HR联系
#面经##快手##安卓工程师##校招#