您的位置:首页 > 编程语言 > Python开发

我的python面试遇到的笔试题和惨痛经历。。。

2019-09-06 13:18 127 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Jayj1997/article/details/100577502

我的python学习19/9/6

我的python面试遇到的笔试题和惨痛经历

决定把这几次寻找python实习时遇到的笔试和经历写出来,个人觉得贼有意思

我的面试经历

就把两次最印象深刻的面试经历说出来吧。
1:我们这二十号人,两个老板是北大博士,所有员工要么就是海归名校,要么就是北大清华,你这是啥学校?
当我听到这句话的时候瞬间无话可说了,不是因为我讨厌他们的自大,而是确实认识到了在这种情况的无力感,也决定了之后我一定要努力学习python用技术弥补学历不足的情况,嘤嘤嘤。
2:加拿大公司,分部北京,坐标中关村方舟大厦(好像是这个名字)
一进大楼就再看不见一个汉字了,安保巨严就感觉在研究航空母舰一样,进大门,上楼,进每一个部门都需要刷门禁(我感觉应该是存在分级的,级别不够进不去哪里的亚子),然后进到一个部门,看到那里的电脑都是密密麻麻的英文数据。然后招呼我在一个玻璃房坐着,进来两个看着就和蔼可亲的HR,一看就是专业中的专业,长相都是那种专业的,拿出一张全英文题纸让我做,然后是要求全英文自我介绍,瞬间让我明白了我的英语六级就是个屁啊。。。六道题三道看不懂,一道半懂,只有两道是很确定的那种,更不要说英语自我介绍了,我的口语也不是那种chinglish、磕磕绊绊的那种,还是有一定基础的,但是说实话让我用英语介绍我的项目经历,这个是真说不出来啊哈哈哈,虽然现在还没有告诉我结果如何,但是我也能猜出来了。。。

这两次的面试经历真的是让我懂了there is always a bigger picture,还是不能做井底之蛙觉得自己在身边人优秀就满足了

面试题

虽然经历听起来很吊,但我毕竟还是去实习的,被问到的问题也不难(当时那个环境还没答好),有一些还是多次遇到的问题
问题1:可变与不可变对象
就好像一张卷子的第一题,白给题,答不上来可以直接从窗户往下跳了

可变:dict、list
不可变:int、string、float、tuple

问题2:正则表达式匹配邮箱
把格式写好看了,该import的import,该if就if

import re
def is_valid_email(addr)
if re.match(r'^[A-Za-z0-9]+(\.|[A-Za-z0-9]+)+@[A-Za-z0-9]+(\.[A-Za-z0-9]+)+$',addr):
return True
assert is_valid_emai('sssss@ssss.com')

具体怎么写还是要根据人家的问题,没有特殊要求的话写个简单的就ok

问题3:输入一系列数字然后按降序排列并输出缺少的那个数

import re
numbers = input('请输入numbers')
def find_missing_one(numbers):
new_numbers = re.split(r'[\s\,]+',numbers)
#re.split更好用,可以识别多个空格多个任意你想区分的符号
new_numbers.sort(reverse=True)
#reverse决定你是降序排列还是升序
print(new_numbers)
i = 0
while (int(new_numbers[i] - int(new_numbers[i+1]) ==1:
i += 1
else:
print(int(new_numbers[i])-1)
find_missing_one(numbers)
#还可以等差数列求和,计算出该有的sum再减去输入的sum就是缺少的那个数,很奇妙的想法,就是在那个情况下一般想不到这里

问题4:大文件读取
对于read()读取文件,如果不知道文件的大小而直接读取会导致未知的内存占用,最好的办法是:
1:利用迭代器遍历 for line in lines
2:设置一个block_size 然后用yeild循环读取

问题5:mysql语言的使用
Python的面试当然被问到的还有数据库的使用,许多笔试题都会用最普遍的mysql来考察

Student(S#,Sname,Sage,Ssex)
course(C#,Cname,T#)
Sc(S#,C#,score)
Teacher(T#,Tname)
BTW: 带井号的就意味着编号,应该没有看不懂的

(1).查询”001“课比”002“课成绩高的同学

select a.S# from (select S#,score from Sc where C# = "001") a,
(select S#,score from Sc where C# = "002") b,
where a.score>b.score and a.S# = b.S#;

(2).查询平均成绩大于60分的同学学号和平均成绩

select S#,avg(score) from Sc group by S# having avg(score)>60;

(3).查询所有学生的学号、姓名、选课数、总成绩

select Student.S#, Student.Sname, count(Sc.C#), sum(score) from
Student left outer join Sc on Student.S# = Cs.S# group by Student.S#,Sname;

4.查询姓”李“的老师的个数

select count(distinct(Tname)) from Teacher where Tname like '李%';

5.查询没有学过”叶平“老师课的同学的学号、姓名

select S#,Sname from Student where S# not in (select distince(Sc.S#) from Sc,course,Teacher
where Sc.C# = course.C# and Teacher.T# = course.T# and Teacher.Tname ="叶平");

6.scrapy框架整体架构

scrapy运行流程如下:
1.引擎从调度器中取出一个URL用于接下来的抓取
2.引擎把URL封装成一个Request传给下载器
3.下载器把资源下载,并封装成Response
4.爬虫解析Response
5.解析出实体Item,则交给实体管道Pipeline进行下一步处理
6.解析出的URl交给调度器等待下一步抓取

关于python的笔试题还有很多很多,此处只列举了在我的面试里遇到次数多的题,希望大家还是要多多经历,刚开始的困难不算困难,加油。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: