美文网首页
百度核心搜索面经

百度核心搜索面经

作者: 6b440373157d | 来源:发表于2018-09-12 17:15 被阅读234次

    找到你的目的,然后方法就会随之而来。——甘地 

    今天收到百度核心搜索部的正式offer,总结一下面经吧,希望对大家有所帮助。 

    一面 

    1、自我介绍 

    2、介绍实习时的经验,主要问了我做了哪些事,如何定位程序中出现的问题,然后也问了我打日志的频率的问题。 

    3、编程题:一个文件中每一行有一个电话号码,将151开头的改成158开头的,先写程序,如何用Linux命令解决?当时是这么写的? 

    cat filename | grep '[^0-9]{11}' | sed '/^151/158/' > filename2 

    4、MapReduce过程,同样问了,一个文件中有单词和出现的次数,统计每个单词的出现次数,用Linux命令解决?当时没有完全写出来,下来查了一下,大概这么写: 

    cat wordcount | awk 'BEGIN{}{wordCount[$1] += $2}END{for (key in wordCount) print key, wordCount[key }' > result 

    5、算法题:实现一个算法,将数组里面的元素打乱,时间复杂度越低越好(参考蓄水池抽样)。 

    6、C++中引用和指针的区别。 

    7、游戏中常见的排行榜的系统设计,主要是数据表与Cache的设计,如何把好友关系存储到数据表等。 

    8、之后问了些对于北京工作的看法,以后的工作的期望等等。 

    二面 

    1、自我介绍 

    2、介绍实习的项目,并做了哪些事?最有难度的是哪些事? 

    3、TCP和UDP的区别,并问了如何用UDP实现高效的协议,参考Google的QUIC。 

    4、非阻塞IO结合IO复用的使用,注意哪几个点?当时从边缘模式和非边缘模式来回答的,感觉回答不是很好,但是面试官表示挺有意思。 

    5、算法题:a->1,b->2,c->3,... ,z->26,给一个数字123,问能表示多少种字符串。典型的动态规划,考虑一些异常情况 

    f[n] = f[n - 1](num[n - 1] != 0) + f[n - 2] (num[n - 1] * 10+ num[n-2] >= 10 && <= 26) 

    三面 

    1、自我介绍 

    2、搜索引擎系统如何设计?看到这个题我是奔溃的,我设计了Proxy,检索服务,存储服务,排序服务,检索服务使用倒排索引(当时不知道,后面才知道自己用的就是倒排索引),用Trie树存储数据(当时也是随便想出来的,到底应该用什么的数据结果现在还是不明确),之后问了Cache的设计,TTL以及Cache的长度等(大概40分钟)。 

    3、实习的一些问题,例如实习的时间呀,做的事,为什么不留下来。 

    4、我自己项目的一些问题,特别细,从方案制定到迭代,甚至问到同事有情绪意见不合怎么处理等。 

    5、我的职业规划,他们团队做的方向。 

    这个面试持续了4小时,难度是我面试过最难的一次,问题深度足够深,当时发挥比较好,第二天一面面试官加了微信,感觉就比较稳了,一周后发了offer

    点击作者姓名与作者大佬交流~

    作者:龙少~

    来源:牛客网(www.nowcoder.com)

    - 互联网名企笔试真题

    - 校招求职笔经&面经

    - 程序员/产品/运营求职实习信息

    - 程序员/产品/运营学习交流社区

    相关文章

      网友评论

          本文标题:百度核心搜索面经

          本文链接:https://www.haomeiwen.com/subject/fvkqgftx.html