Python 爬虫笔试(含答案)

一、选择题 (每题4分,共40分)

  1. 以下正则表达式中,属于非贪婪匹配,且允许出现0次的是:( )
    A、.
    B、.*
    C、.*?
    D、.+?

  2. 正则表达式 R[0-9]{3},能匹配出以下哪个字符串:( )
    A、R3
    B、R03
    C、R09
    D、R093

  3. 以下哪个不属于 HTTP 协议的请求方式:( )
    A、Get
    B、Post
    C、Delete
    D、Push

  4. 栈和队列的共同特点是:( )
    A、只允许在端点处插入和删除元素
    B、都是先进后出
    C、都是先进先出
    D、没有共同点

  5. 设一维数组中有n个数组元素,则读取第i元素的平均时间复杂度为( )
    A、0(n)
    B、0(nlog2n)
    C、0(1)
    D、0(n)

  6. 在 SQL 语句中,ALTER 的作用是:( )
    A、删除基本表
    B、修改基本表中的数据
    C、修改基本表的结构
    D、修改视图

  7. 在 SQL 中,可以用 Exists 来测试一个集合中是否 ( )
    A、有相同元组存在
    B、为空集合
    C、有相同分量存在
    D、为非空集合

  8. 快速排序的时间复杂度是:( )
    A、0(n)
    B、0(nlogn)
    C、0(n3)
    D、0(n2)

  9. 对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是: ( )
    A、-rwxrwxr-x
    B、-rrxrrx–r
    C、-r–r--w–
    D、-r-xr-x–x

  10. ubuntu 环境下,在线安装软件包的命令是:( )
    A、pip install
    B、yum install
    C、apt-get install
    D、wget

二、填空题(每题5分,共20分)

  1. n个结点的无向图,最多有_________条边。
  2. 在最坏情况下,冒泡排序的时间复杂度为_________。
  3. 匹配标准 http 协议的 url 的正则表达式:_________。
  4. 一副牌 52 张 (去掉大小王,抽取两张牌,一红一黑的概率为:_________。

三、简答题(共40分)

  1. 尽可能详细描述在浏览器中输入一条 url 比如 http://www.baidu.com
    按下回车之后的互联网处理此请求的整个流程。(10分)

  2. 如下 student_score 表中,请按要求写出对应的 SQL 语句。(10分)

    idnamesexsubjectscore
    1张三语文85
    2张三数学90
    3李四语文80
    4李四数学100

    (1) 将 Name 字段添加索引。

    (2) 查询女生中数学成绩最高的分数。

    (3) 查询男生中平均成绩最高的姓名。


答案

选择

1-5 CDDAC
6-10 CDBDC

填空

  1. n(n-1)/2
  2. O(n(n-1)/2)
  3. [A-Za-z]+://[^\s]*
  4. 26/51

简答

1、

点击一个网页链接,会发生的一些事情:
浏览器响应点击事件,解析url,
发起web请求,建立与服务端的连接,
服务端响应请求,服务端返回请示结果,浏览器处理返回的结果。

2、

(1) ALTER TABLE `student_score` ADD INDEX Name ( `column` );

  • 普通索引,添加 INDEX
    ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
  • 主键索引,添加 PRIMARY KEY
    ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
  • 唯一索引,添加 UNIQUE
    ALTER TABLE `table_name` ADD UNIQUE ( `column` )
  • 全文索引,添加 FULLTEXT
    ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
  • 多列索引
    ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

(2) SELECT MAX(score) FROM student_score WHERE sex="女" AND `subject`="数学";

(3) SELECT `name` FROM student_score WHERE sex="男" GROUP BY `name` HAVING AVG(score) >= ALL(SELECT AVG(score) FROM student_score WHERE sex="男" GROUP BY `name`);

  • 3
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值