基本情况:
base:北京
岗位:大数据开发
已意向
很久之前的一面40min:
1.问了些基本问题,太久远了忘了,没啥难的问题,比较印象深刻的就是问到了group by的原理,这个我当时还真不知道,事后了解有三种实现方法,大家可以自行百度
2.算法题
1.手写一个快排
2.手写一个开根号函数,精确到小数点后7位(二分即可,定义一个eps)
def sqrt(m, n): left = 0 right = m # 这个eps要取的比精度稍微大一点 eps = 1e-8 while abs(right - left) >= eps: mid = left + (right - left) / 2 tmp = mid ** n # 下面这句话加不加无所谓 # if abs(tmp - m) <= eps: # break if tmp > m: right = mid else: left = mid # return "%.12f" % mid return "%.7f" % left3.100亿url,怎么看某个url已经存在(手写一个布隆过滤器即可)
4.100亿url,怎么求TopK(hash,然后小根堆)
3.反问阶段
我:没啥问题
很久之前的二面20min:
问的一些项目问题,大家的项目都不一样,就不多说了
算法:
原来有序的数组,按某一个点进行反转,给一个target,求对应的数组索引(比较简单吧,二分即可,LeetCode上很多这种题目,建议大家刷一刷)
反问:
我:没什么问题
HR面:
正常聊天
建议
1.刷题的建议
一些刷题的建议哈,我自己的一个情况,刷了500道题吧,基本上面试中遇见的题目都是原题,基本都可以秒写,一时因为我刷的多,遇见的题多,二是因为我刷过还会定期二刷,三刷,其实就是孰能生巧。大家可能刷题比较晚,其实任何时候刷题都不迟,重要的是坚持刷,养成习惯,我基本上每天一两道题,或者是新题,或者是旧题重写一遍。刚开始刷题我和大家一样,没啥思路,有时候看半天也想不出来,这个时候不如打开题解看看别人的做法,多总结一下,等到各种题型都见过了,题也刷了一定数量了,这个时候我们就会有点感觉了,知道拿到一道题该往什么方向上去想,这个时候就可以尝试自己来想问题并且解决了。
2.计算机基础
我觉得面试中的计算机基础就那么点东西,大家该背就背下来,别为自己的懒找借口!!!!!!!!!!!
全部评论
(1) 回帖