zoukankan      html  css  js  c++  java
  • 百度面试

    由于之前运宇的鼓动,网投了一份百度实习生的职位。

    无知无觉。近一个月后突然在上个礼拜时候接到百度的电话面试通知。

    于是乎。。。

    上个礼拜的电话一面:

    1. 要求简短的自我介绍

    ...
    2. 对百度的感觉

    比较了百度与google的搜索 - -|...
    3. 简历中的项目介绍

    关于嵌入式浏览器
    4. 擅长语言的问题

    C的内存分配函数  malloc  calloc  realloc

        结果居然不知道calloc能够初始化内存 - -|

    C++的多态
    5. linux 问shell熟不熟

    不熟 - -|  好,跳过
    6. 算法题

    三个有序数组,问怎么组合?如果数组很大呢? 怎么比较出他们的交集(巴嘎,我居然没想到首先先找出最短的数组)
    7. 搜索相关 

    大量网页中某两个词组的相关度,怎么计算?怎么实现他们的相关度?
    8. 智力题

    三个饼,最大那个的面积等于两个小的的和,问如何只切一到能够使得平分给四个人?

    答:三个叠起来从中间切一刀。

    9. 你有没什么问题要问的?

    问了问对我的建议。额的处女面啊~~~

    今天是电话二面:

    1. 还是要求自我介绍

    ...

    2.还是对百度的使用感觉 不过这次说了好多,问百度的什么产品比较好,什么产品不好.

    好在什么地方? 对百度有什么建议?  这个我扯了我对云端应用的看法。问怎么实现“网络收藏夹"功能的同步?

    3.简历中的项目介绍

    ... 后来问到dom tree 怎么生成? 不懂 - -| 

    4.问TCP/IP  

    TCP怎么保证错误重传? TCP的三次握手,TCP断开时候的四次握手? 结果忘了这个 - -|

    问了TCP连接的各种状态:   LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT 这些代表什么?  又不记的 - -|

    问知不知道SIGPIPE信号量。 好像见过, 不记的了。。。- -

    5.问shell 

    怎么查询两个文件中相同的函数?怎么直接显示一个文件中第1000行?

    郁闷,都不熟悉。。。- -

    6.算法题

    赛车比赛,初始有M现金,只能加1升油,知道赛道(每段耗油),知道赛道中的每个加油站(有不要钱的,有要钱的),问要不要参赛?

    我只说我觉得应该就是  每段赛道的耗油是一个权值,每段赛道的两端的加油站花费也是权值,就是要找出一条路能够使得油不耗尽钱又不能花光的。。。  但我想不出具体怎么实现 - -|

    7.智力题  世界杯小组赛最少要积多少分才能出线。。 

    想了好久,说1分,又想了想,结果是两分。 郁闷。 这题估计要扣分了。

    8.搜索相关

    搜索引擎中怎么实现 输入“百度”,然后会出现下拉框提示常用的搜索词条?(即“搜索建议”或“搜索提示”)

    我说应该 1. 服务器有所有搜索词条的数据库, 2. 用hash方法来实现快速检索到常用的词条。

    结果他问你要怎么样的hash方法?   卡壳 - -|

    大家应该都看到过 GOOGLE 的搜索建议,就是当我们在输入关键词时,GOOGLE 会根据我们目前已输入的字显示相关的关键字建议,这就是搜索建议,现在很多网站都实现该友好的功能,如 YAHOO、狗狗搜索等。
    实现该功能的思路就是:

    1) 在关键字输入框里,当用户按键弹起时,发送输入框里的字符串到服务器。

    2) 服务器根据收到客户端发来的字进入匹配搜索

    3) 将匹配用户已输入字的记录回发到客户端

    4) 客户端收到服务端的响应,输出建议。

    其实就是异步回发(AJAX)。

    把关键词记录到search表里,然后用下面的查询可以统计关键词

    SELECT TOP (10) keyword, COUNT(*) AS num
    FROM search
    GROUP BY keyword
    ORDER BY num DESC

    网络上能搜到的都是这样关于网页上要怎么做的,都没说到数据库中要怎么查找的。

    现在想想,其实用匹配也可以吧? 假使数据库中本来就是有序,除了按ABCD这样的主序外,还有被查询次数为次要序。

    然后只要匹配到第一个,就可以直接从数据库中返回接着连续的10个,返回啦。

    但如果数据库中关于搜索词条的表很大呢?匹配也要时间呀。所以我觉得hash才是最快的。

    但问题是这个表又不是固定的! 它是实时更新的呀,比如说一开始没有htc diamond2的搜索词条,但如果出现了这个词条后,你要插入到hash表的什么地方? 所以建立这样的hash表又似乎是不容易的。 - -|

    或者说可以,记录所有搜索词条的表A,然后用来做搜索建议的这个hash表B。每天晚上0点由表A重新生成一次表B。而且搜索引擎还要负责搜索记录的过滤呢。(窃笑^_^)这样正好。

    那么hash表要怎么建立呢?

    讲到这里,其实就是关于这个搜索词条的表怎么建立,用什么的搜索了。其实想想,不只有hash表嘛。还可以多重hash,再加上什么什么,可以用多种方法联合。只要速度够快。

    9.有什么问题要问?

    我问如果通过这次,还有几次面试?  答约可能还有三面四面,具体不清楚

    问意见,是否要多看看算法? 答曰,未必要这样,主要自己对什么感兴趣,就多研究研究那方面。

    额。 现在有点担心二面,菩萨保佑菩萨保佑。。

  • 相关阅读:
    [JSOI2007][BZOJ1031] 字符加密Cipher|后缀数组
    leetcode Flatten Binary Tree to Linked List
    leetcode Pascal's Triangle
    leetcode Triangle
    leetcode Valid Palindrome
    leetcode Word Ladder
    leetcode Longest Consecutive Sequence
    leetcode Sum Root to Leaf Numbers
    leetcode Clone Graph
    leetcode Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/funway/p/1978649.html
Copyright © 2011-2022 走看看