请问楼主,头条面试算法是在什么算法上?
点赞 评论

相关推荐

今天 11:40
已编辑
电子科技大学 Java
【更新】一面过感觉要寄,发个面经攒攒人品。整体面试体验非常好,一点八股没问,全程面试官有引导回答,不过也可能因为我是Java,公司内部是go所以没问什么八股。先聊项目,先让讲讲项目里觉得最有意思的部分,然后面试官根据项目深挖,这里就不说了,跟项目强相关。问了个高并发怎么处理,问了个不同任务怎么隔离不相互影响。然后是Linux的使用,问了最常用的命令,然后出了个需求:一个文件夹大量文件,根据文件内容重命名文件,问这里应该怎么处理。我一开始想的用shell里面的管道一套流程处理。然后提到文件名可能不在第一行,那可能用shell就比较复杂,改为用Python脚本处理。然后说如何并行修改(如果文件非常非常多)?这里没答出来,然后说假设可以并行了,怎么保证同名文件要处理,不相互覆盖。这里我答的操作前备份+加锁处理。    上面并行的问题正确答案应该是shell并行用&符号,或者用parallel这类的工具。最后是一个算法,用均匀的rand7产生均匀的rand10,这里一开始没写出来,提醒之后实现了标准版本(leetcode 470),但是这样每次生成有9/49的概率生成失败重新循环,面试官希望进一步增加效率,理论上可以趋近100%的生成成功率应该怎么做。面试官提醒可以增大分母,生成失败的可能性的分子是固定的最大不超过9,那么我只要多次调用rand7,去生成一个很大的数,这样失败的概率就是9/∞。总之问题很有引导性也很有针对性,并且没问八股,真考思维,手撕题,感觉很舒服同时又很难。
查看9道真题和解析
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-19 16:39
点赞 评论 收藏
分享
牛客网
牛客企业服务