百度笔试面试经验

更新时间:2018-11-22 16:55作者:王新老师

      编程:

      用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。

      2 编程:

      用C语言实现函数void * memmove(void *dest,const void *src,size_t n)。memmove函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。

      3 英文拼写纠错:

      在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。假设已经有一个包含了正确英文单词的词典,请你设计一个拼写纠错的程序。

      (1)请描述你解决这个问题的思路;

      (2)请给出主要的处理流程,算法,以及算法的复杂度;

      (3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。

      4 寻找热门查询:

      搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录,这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。请你统计最热门的10个查询串,要求使用的内存不能超过1G。

      (1)请描述你解决这个问题的思路;

      (2)请给出主要的处理流程,算法,以及算法的复杂度。

      5 集合合并:

      给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}

      (1)请描述你解决这个问题的思路;

      (2)请给出主要的处理流程,算法,以及算法的复杂度

      (3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。

      1 题

      char *revert(char * str)

      {

      int n=strlen(str);

      int i=0;

      char c;

      for(i=0;i {

      c=str;

      str=str[n-i];

      str[n-i]=c;

      }

      return str;

      }

      2 题

      void * memmove(void *dest,const void *src,size_t n)

      {

      assert((dest!=0)&&(src!=0));

      char * temp=(char * )dest;

      char * ss=(char * )src;

      int i=0;

      for(;i {

      *temp =*ss ;

      }

      return temp;

      }

      3 题

      (1)思路: 字典以字母键树组织,在用户输入同时匹配

      (2) 流程:

      每输入一个字母:

      沿字典树向下一层,

      a)若可以顺利下行,则继续至结束,给出结果;

      b)若该处不能匹配,纠错处理,给出拼写建议,继续至a);

      算法:

      1.在字典中查找单词

      字典采用27叉树组织,每个节点对应一个字母,查找就是一个字母

      一个字母匹配.算法时间就是单词的长度k.

      2.纠错算法

      情况:当输入的最后一个字母不能匹配时就提示出错,简化出错处理,动态提示可能 处理方法:

      (a)当前字母前缺少了一个字母:搜索树上两层到当前的匹配作为建议;

      (b)当前字母拼写错误:当前字母的键盘相邻作为提示;(只是简单的描述,可 以有更多的)

      根据分析字典特征和用户单词已输入部分选择(a),(b)处理

      复杂性分析:影响算法的效率主要是字典的实现与纠错处理

      (a)字典的实现已有成熟的算法,改进不大,也不会成为瓶颈;

      (b)纠错策略要简单有效 ,如前述情况,是线性复杂度;

    为您推荐

    2019年两会《政府工作报告》养老金新政策,要提高养老保障水平

    《关于2018年中央和地方预算执行情况与2019年中央和地方预算草案的报告》要求,提高养老保障水平。从2019年1月1日起,按平均约5%的幅度提高企业和机关事业单位退休人员基本养老金标准。

    2019-06-13 04:57

    如何在另类面试问题中胜出

    在面试中,有些考官会先提一个不甚友好的问题,或者劈头浇你一盆冷水,让你在委屈和激愤中露出本色。在他看来,击溃你的心理防线,才能筛选出有心理承受能力的智者,找到能面对压力的新鲜血液。要想在压力面试中胜出,只能学会绕开陷阱,奋战到底。

    2019-06-08 03:00

    面试紧张时应该怎么办

    面试是进入公职机关的最后一道主要的门槛,因此可以说每一位进入面试的人,心里就像绷住一根弦一样,也就是说每位考生,都会以高度的精神状态去抓住这次进入角色的机会。出现紧张、焦虑的心情也是不可避免的,只有认识了解,才能完全的克服。

    2019-06-08 02:58

    面对变故 学会自我解嘲

    面对降级、减薪、甚至解雇、离婚、丧子等变故,许多人反应过度,很长时间缓不过劲儿来。而有的人却能很快度过,重返正常的生活轨道。其决定因素是一种特殊的心理素质:心理复原力。有了它,人们不怕挫折;而缺少它,会特别害怕受伤害,不敢付出行动。

    2019-06-06 03:12

    办公室里该与不该谈论的话题

    办公室是一个充满原则、纪律,讲求策略的场合,更是一个充满利益冲突的是非之所。既如此,办公室里谈个人私事是否妥当呢?网上调查显示,尽管九成以上的人认为“办公室里隐私不宜说”,但是她/他们又同时承认有在办公室里谈论涉及私人感情、家庭关系、同事喜恶和上下级关系等隐私性内容的行为。

    2019-06-06 03:10

    面试自我介绍的几大原则

    应聘到外企或其他用人单位时,求职者往往最先被问及的问题就是“请先介绍介绍你自己”。这个问题看似简单,但求职者一定要慎重对待,它是你突出优势和特长,展现综合素质的好机会。回答得好,会给人留下良好的第一印象。

    2019-06-01 03:19

    外企面试必须要注意的五“必要”

    到外企面试前,仅仅准备好一份简历是不够的,还要提前做好面试前的“功课”,这样面试通过的几率就会大大增加。

    2019-06-01 03:16

    加载中...