面试题(四)爬虫
一、试列出至少三种目前流行的大型数据库的名称:________、_________、__________,其中您最熟悉的是__________,从__________年开始使用。
Oracle,Mysql,SQLServer Oracle 根据自己情况
二、有表List,并有字段A、B、C,类型都是整数。表中有如下几条记录:
A |
B |
C |
2 |
7 |
9 |
5 |
6 |
4 |
3 |
11 |
9 |
现在对该表一次完成以下操作:
- 查询出B和C列的值,要求按B列升序排列
- 写出一条新的记录,值为{7,9,8}
- 查询C列,要求消除重复的值,按降序排列
写出完成完成以上操作的标准的SQL语句,并且写出操作3的结果。
create table List2(A int ,B int,C int) select B,C from List order by B insert into List values(7,9,8) select distinct(C) from List order by 1 desc; 9 8 4
三、请简要说明视图的作用
1. 数据库视图隐藏了数据的复杂性。 2. 数据库视图有利于控制用户对表中某些列的访问。 3. 数据库视图使用户查询变得简单。
四、列举您使用过的python网络爬虫所用到的网络数据包(最熟悉的在前):
requests、urllib、urllib2、httplib2
五、列举您使用过的python网络爬虫所用到的解析数据包(最熟悉的在前):
BeautifulSoup、pyquery、Xpath、lxml
六、列举您使用过的python中的编码方式(最熟悉的在前):
UTF-8,ASCII,gbk
七、python3.5语言中enumerate的意思是_______________________
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
enumerate多用于在for循环中得到计数
八、99的八进制表示是_______________________
143
九、请举出三种常用的排序算法
冒泡、选择、快速
十、列出比较熟悉的爬虫框架
Scrapy
十一、 用4、 9 、 2、 7四个数字,可以使用+、-、*和/,每个数字使用一次,使表达式的结果为24,表达式是_____________________________
(9+7-4)*2
十二、 对你最有影响的或是您认为最有价值的软件方面的几本书是?
十三、 您最熟悉的Unix环境是_____________.Unix下查询环境变量的命令是________,查询脚本定时任务的命令是____________________
1 AIX , env crontab
十四、 写出在网络爬虫爬取数据的过程中,遇到的防爬虫问题的解决方案
通过headers反爬虫:解决策略,伪造headers
基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为
基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求
十五、 阅读以下Python程序
for i in range(5,0,-1):
print(i)
请在下面写出打印结果
5 4 3 2 1
十六、在某系统中一个整数占用两个八位字节,使用Python按下面的要求编写完整程序。
接收从标准输入中依次输入的五个数字,将其组合成为一个整数,放入全局变量n中,随后在标准输出输出这个整数。(ord(char)获取字符ASCII值的函数)