MyFirstDay(附6篇python亲历面试题)
一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(python后端开发),坐标上海,2019年3月,半个月面了6家(感觉效率是真不高。。。)每次都有记录(luying)拿出来让小伙伴们一起看看,可以一起回答下,毕竟我也是菜鸟(本科土木工程,两年工作经验,所以面试官可能问的问题也是对应的这样一个水平的吧,大神们勿喷哟),有些在网上搜了也没找到适合的答案,有些是已经找到答案了的,然后明天再整理和更新一下答案吧,话不多说,上题:
1>***猫:
python基础类:
- 字符串反转的常用处理方式:
- 你说一下python中的迭代器、生成器、装饰器
- 如果让你实现一个迭代器,你会怎么做
- 怎么样获取一个生成器?
- 你有用过yield对象吗?得到的是一个什么样的对象?
- 你有了解过python中的协程吗?
技能类:
- 你有用过git吗?
- 你有合过代码吗?
- 你有布署过代码吗?
- 布署的步骤是怎样的?你是怎么样把你的代码放到服务器中的?
- docker你有使用过吗?谈一谈
- 你平时是怎么去debug你的代码的?比如说有些代码是第一次写,你不知道你写的是不是对的,一但出现了问题,你要怎么去定位它,检测它?
- 你有多长时间的软件开发经验?
业务类:
你对电商的业务了解吗?
我问你一个具体的电商的业务啊:电商在大多数领域中都是有库存的,我在下订单的时候,我的库存的变化,你知道吗?(我问的是你怎么去处理库存的变化?)因为客户下单的时候,有些是去减库存了,有些不减对吧?你的理解呢?
你事务的时候有没有出现死锁的情况?
你刚刚说到的下单之后的库存锁的问题?你是在下单的时候去扣库存,还是在支付完成了以后去扣?
如果用户不支付,你的库存怎么办?(我还是没有听到你说,处理库存的点)
如果支付失败了,你对库存有一个什么样的动作?
2>**港:
这个项目你当时做了多久?一共几个人?后台做的几个人?
- Whoosh是什么?和ES差不多是吧?
- 你是负责订单和商品哦?订单流程复杂吗?(一个完整的电商是从下单->支付->发货->退货->评价->售后,你们的流程是整个流程吗?
- 支付是用的什么?支付宝?微信?还是第三方?支付宝你是直接调http?还是它有库?
- 你们这个是前后端不分离的吗?
- 你们订单是用uid来存它的id还是数字来存id的?
- 你们是用纯SQL语句来做的?还是用filter过滤的方式来做的?(意思是我现在查个订单,现在有订单号了,如何出结果?有几十个条件的,用filter写起来好写不?还有包含、排除的这种?
- 搜索引擎用过吗?怎么样去把条件和商品做一个匹配?(如‘红色手机’)
- 怎么利用搜索引擎来做这个事情?
- 支付模块大概写了多久?就是把支付宝调通?
- authenticated有用过吗?
- 事务做过吗?
- 不提交前,能够查出来当前值,新增一条,但是没有提交,我去做查,该如何解决?数据库是不是被锁住的?有什么办法能够做到能够查询出来?
3>**咨询:
- 笔试题(图片格式):
4>**科技(外包):
技术面:
- 你可以挑一个你比较得意的项目来聊一聊(你比较满意的,感觉还行的项目)
类似于电商的项目,在做后端设计的时候有没有做过并发的设计?不谈高并发,100个/s,200个/s这种的就可以
- 笔试(技术面试官口述):
- 简单讲一下装饰器的情况。写一个装饰器来测试一下算法的执行时间:
- A表对应到B表的详细的信息,A列表关联B列表,但是B列表中的id是残缺的,有没有办法能够写一个搜索语句,从A中拿ID,再从B中拿详细信息。(如果直接从A中去遍历ID去拿的时候,有可能B中详细的信息,是没有的)如何操作?
- 你平时学的时候,有没有学过数据结构算法这些?我问一个我们可能会遇到的问题:比如,我现在有一个列表,里面有100个乱序的数,我现在要排序,排序的话,我不希望用python的sort/sorted这种东西,你看能不能写一个简单的算法
5>*路网(感觉像外包,但是好像又不用外派)
- 笔试题(纸质版的,但是上面有公司名称,故手敲了一份):
- python中==与is之间的区别是什么?下面图中的代码输出结果是什么?
Class A(object):
Pass a1 = A()
a2 = A()
print(a1 is a2)
print(a1 == a2) - python中函数调用的时候参数的传递方式是指传递还是引用传递?
- Python函数定义中常见的*args跟**kwargs分别有什么用途?
- Python中的decorator是什么,写出自己写过的最简单的一个decorateor
- Django/Flask中一次HTTP请求的处理流程:
- 请说明session跟cookie的区别及联系?
- 实现一个跟range具有相似功能的迭代器my_range
- 写出一个支持评论的博客的数据库表结构
- python中==与is之间的区别是什么?下面图中的代码输出结果是什么?
- 技术面试(口述):
- 学习经历(学习路径,什么时候开始接触python的,具体来说看了什么教程,谁的教程,看了什么视频,看了哪一本书,看了些什么文档)最好是言之有物,具体到如Django文档,是全看了,还是看了某些部分比较明确的量化的东西
- 说一下项目经历
- 接触技术、学习技术以来,某一个最让你激动的时刻,如搞定了一个bug,或者是一个框架中长期困扰着你的问题,被你搞明白了,也可能是做出了很漂亮的一个界面等等,任何情况都可以,但并不一定是很牛逼的事情
- 人生迄今为止,你觉得最有成就感的一件事情
- 电影院的表结构是什么样的?一个电影院,一场电影,一个座位,他们之间有什么关系?添加一场电影的时候我怎么添加?管理员添加一场电影的时候?(逻辑)比如说我添加的时候,档期如何去排?
- 项目中会牵扯到规格这种问题吗?表结构是如何设计的?
- 你以前的工作都是做什么?
6>工业**:
笔试题(隐藏公司名称,手敲):
python中下列lambada函数定义错误的是:
a) g=lambda x,y:x*y b).g=lambda x,y=0,z=0:x+y+z
c) g=lambda x:x**2 d).g=lambda x=1,y,z=0:x+y+z
python lambda函数
python中下列表达式
a.X>Y?X:Y b.X<Y?X:Y C.X if X > Y else Y D.X if X<Y else Y
下列哪种类型是python的映射类型?
a.str b.list c.tuple d.dict
下列代码执行结果是?[i**i for I in xrange(3)]
a.[1, 1, 4] b.[0, 1, 4] c.[1, 2, 3] d.(1, 1, 4)
A与b定义如下,下列哪个是正确的?
a = ‘123’ b = ‘123’
a. a != b b.a is b c. a == 123 d.a + b =246- 有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],返回乘方列表(使用python高阶函数):
有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],返回乘积(使用python高阶函数):
- 有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],挑出奇数(使用python高阶函数):
- 简要描述python的垃圾回收机制(garbage collection)?
- python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)?
- 什么是python装饰器,如何使用?
- python模块中match和search的区别?
- *args and **kwargs的作用?
- python实现快速排序算法
- 现在要求计算二进制的逆序,如数34520用二进制表示为10000110 11011000将它逆序,我们得到了一个新的二进制数00011011000001
综上:总结一下上面的面试题,还是可以看到,对于两年工作经验的考察,主要还是基于对python的基础知识的掌握程度,以及对项目经验的询问上,希望能够帮到和我一样在找python工作的小伙伴们,明天再更新答案部分(谁能告诉我一下,后面这个1 2 3 怎么消除呀,哎,第一次发帖,有点不大会弄...)
最新文章
- Ubuntu 14 常用“快捷键”,Ctrl + Alt + F1 进入终端,按 Ctrl + Alt + F7 回到界面
- jQuery获取cookie
- js中object类型模拟java中的map
- 【poj3159】 Candies
- 四种java代码静态检查工具
- 软件推荐列表(Recommand Software)
- python27读书笔记0.2
- [转]ESCAPE()、ENCODEURI()、ENCODEURICOMPONENT()区别详解
- HDU1276(士兵队列训练模拟与链表)
- java 学习 ——计算器小程序
- lufylegend库 LGraphics扭曲图片
- 201521123040《Java程序设计》第13周学习总结
- JQuerymobile实例源代码
- discuz 模板中使用方法和语言标签
- Linux permission denied问题
- 联合索引在B+树上的结构
- 001_获取nginx证书
- Jmeter(八)HTTPCookie管理器
- JDK1.10+scala环境的搭建之windows环境
- 读书笔记 effective c++ Item 48 了解模板元编程