真实 Python 爬虫面试题
5

阅读文本大概需要 5 分钟。

就在昨天我面试了,来到上海之后面试的第一家公司,面试过程挺顺利,不出意外今天下午就会收到 offer。面试完之后,我走在路上,整个人都是在傻笑的状态,路人一脸关爱智障的眼神,但我还是非常的开心。

自己一路自学过来,不知道遇到多少 bug,不知道有多少个深夜,还在敲代码,不知道有多少迷茫的时候。我只知道我必须要更加努力。幸运的是,这一路下来,我没有放弃。天道酬勤,宁静致远。

6 月底我从重庆一所普通二本学校毕业,大学获奖屈指可数,挂科却不计其数。最开始我也连 C 语言的「hello world」,都要打错 4,5 遍。不是头函数没有加,就是少了一个字母。就单论大学的学习,我就是一个学渣。

我知道学习上比别人差,但至少在努力这个层面,我可以做到最好。我清楚地记得最开始学技术的时候,是看着别人的博客学。但我看一遍,两遍,甚至三遍根本就记不住。离开文章,脑海里一片空白,根本就不知道要写什么代码。

但那时候我根本不知道如何高效地学习,于是我就用最低效率的方法,看的记不住,那我就抄一遍,把博客里的内容,一个字一个字地敲打一遍。敲一遍记不住,那我就再敲一遍。这就是我最早学习技术的方式。一个暑假的时间风雨无阻,每天一篇博客敲打文,到了最后,有道云笔记里全是自己的敲打文。

现在回想起来那时候自己有多么的笨,但却又感谢曾经努力的我。就是靠着比别人多努力一点点,我慢慢能记得博客的内容;就是比别人多努力一点点,我能慢慢的写一个小程序;就是比别人多努力一点点,我能写出几千字的文章;就是比别人多努力一点点,公众号发展至今已有 1.3W 的读者数;就是比别人多努力一点点,如今来到我梦寐以求的上海。

七月初,独身一人,提着一包行李,买了张飞机票,就直接来到上海。上海我没有朋友,没有亲戚,甚至不知道下飞机之后,我该去往哪里。但这些都阻挡不了,我想要去上海的心。

在此记录下自己来到上海,第一家面试的公司,面试到的题。希望对你以后的 python 爬虫道路有所帮助。等之后工作稳定,我再详细写一篇,如何自学 python 找到爬虫工作。

笔试题

  1. python 常用数据结构有哪些?请简要介绍一下。

  2. 简要描述 Python 中单引号、双引号、三引号的区别。

  3. 如何在一个 function 里面设置一个全局的变量?

  4. Python 里面如何拷贝一个对象?(赋值、浅拷贝、深拷贝的区别)

  5. 如果 custname 字符串的内容为 utf-8 的字符,如何将 custname 的内容转为 gb18030 的字符串?

  6. 请写出一段 Python 代码实现删除一个 list 里面的重复元素。

  7. 这两个参数是什么意思:*args,**kwargs?

  8. 统计如下 list 单词及其出现次数。

a=['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']

  1. 给列表中的字典排序:假设有如下 list 对象

alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]

将 alist 中的元素按照 age 从大到小排序。

  1. 写出下列代码的运行结果
a = 1
def fun(a):
  a = 2
fun(a)
print(a)
a = []
def fun(a):
  a.append(1)
fun(a)
print(a)
class Person:
    name = 'Lily'

p1 = Person()
p2 = Person()
p1.name = 'Bob'
print(p1.name)
print(p2.name)
print(Person.name)
  1. 假设有如下两个 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],将 a 中的元素作为 key,b 中元素作为 value,将 a,b 合并为字典。

  2. 使用 python 已有的数据结构,简单的实现一个栈结构。

面试官提的问题

  1. 项目上遇到了哪些难点?如何解决?

  2. 数据如何去重,清洗,存入数据库?

  3. 有一个升序后又降序的数组,比如 1356742,如何查找到 2 的位置。

  4. 如何查找到二叉树两个节点的最低公共祖节点?

  5. mysql 的序列都有哪些?

  6. 遇到哪些反爬机制?如何解决?

以上问题,你是否能全部答出来?

本文首发与公众号「痴海」,后台回复「1024」,领取 2018 最新 python 教程。
痴海

人生必有痴,而后又成。

讨论数量: 2

感觉可以持续维护更新面试题

4个月前
mihoutao

挺棒的, 有一些是刚接触时踩过的坑, 估计楼主也接触不到新的了, 希望多出一些文章。为小白的python之路多填几个坑

3个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!