• [笔试] 201256 baidu Written examination


    简答题一: 给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。 
    简答题二: 线程和进程区别和联系。什么是“线程安全”? 
    简答题三: C和C++中如何动态分配和释放内存?他们的区别是什么?


    算法与程序设计题一:
    网页爬虫在抓取网页时,从指定的URL站点入口开始爬取这个站点上的所有URL link,抓取到下一级link对应的页面后,同样对页面上的link进行抓取从而完成深度遍历。为简化问题,我们假设每个页面上至多只有一个link,如www.baidu.com/a.html链接到www.baidu.com/b.html再链到www.baidu.com/x.html,当爬虫抓取到某个页面时,有可能再链www.baidu.com/b.html,也有可能爬取到一个不带任何link的终极页面。当抓取到相同的URL或不包含任何link的终极页面,即完成爬取。爬虫在抓取到这些页面后建立一个单向链表,用来记录抓取到的页面,如:a.html->b.html->x.html...->NULL。
    问:对于爬虫分别从www.baidu.com/x1.html和www.baidu.com/x2.html两个入口开始获得两个单向链表,得到这两个单向链表后,如何判断他们是否抓取到了相同的URL?(假设页面URL上百亿,存储资源有限,无法用hash方法判断是否包含相同的URL)
    请先描述相应的算法,再给出相应的代码实现。(只需给出判断方法代码,无需爬虫代码) 


    算法与程序设计题二: 已知数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)。 


    系统设计题: 
       如下图,
        百度搜索框的suggestion,比如输入北京,搜索框下面会以北京为前缀,展示“北京爱情故事”、“北京公交”、“北京医院”等等搜索词。
        如何设计使得空间和时间复杂度尽量低,给出相关的数据结构与算法。
  • 相关阅读:
    阿里架构师用3点讲透数据中台,这些都是你没看过的
    深度学习入门笔记(八):深层网络的原理
    创建一个最基本的SpringMvc项目
    区块链隐私资源
    weblogic wlst 例子
    如何找靠谱的2020网赚兼职?可信度高的网赚兼职推荐
    thinkphp链接多个数据库时怎么调用M方法?
    thinkphp链接多个数据库时怎么调用M方法?
    thinkphp链接多个数据库时怎么调用M方法?
    thinkphp链接多个数据库时怎么调用M方法?
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787085.html
Copyright © 2020-2023  润新知