2019年BAT公司Python面试题之爬虫

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

十四、写出在网络爬虫爬取数据的过程中,遇到的防爬虫问题的解决方案
  1. 通过headers反爬虫:解决策略,伪造headers
  2. 基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为
  3. 基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求
十五、阅读以下Python程序
foriinrange(5,0,-1):

print(i)

请在下面写出打印结果

54321

十六、在某系统中一个整数占用两个八位字节,使用Python按下面的要求编写完整程序。

接收从标准输入中依次输入的五个数字,将其组合成为一个整数,放入全局变量n中,随后在标准输出输出这个整数。(ord(char)获取字符ASCII值的函数)

你可能感兴趣的:(python)