2019年BAT公司Python面试之爬虫
关注公众号【软件测试大本营】,获取更多Python面试笔试资源。
一、试列出至少三种目前流行的大型数据库的名称:、、,其中您最熟悉的是_,从__________年开始使用。
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的结果。
[外链图片转存失败(img-rOvOOPQi-1565539924672)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps2D7B.tmp.jpg)]
create table List(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 desc;
984
三、请简要说明视图的作用
- 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下查询环境变量的命令是________,查询脚本定时任务的命令是____________________
[外链图片转存失败(img-r5oDZKAv-1565539924672)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps2DA3.tmp.jpg)]1AIX,envcrontab
十四、写出在网络爬虫爬取数据的过程中,遇到的防爬虫问题的解决方案
- 通过headers反爬虫:解决策略,伪造headers
- 基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为
- 基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求
十五、阅读以下Python程序
foriinrange(5,0,-1):
print(i)
请在下面写出打印结果
54321
十六、在某系统中一个整数占用两个八位字节,使用Python按下面的要求编写完整程序。
接收从标准输入中依次输入的五个数字,将其组合成为一个整数,放入全局变量n中,随后在标准输出输出这个整数。(ord(char)获取字符ASCII值的函数)