一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(python后端开发),坐标上海,2019年3月,半个月面了6家(感觉效率是真不高。。。)每次都有记录(luying)拿出来让小伙伴们一起看看,可以一起回答下,毕竟我也是菜鸟(本科土木工程,两年工作经验,所以面试官可能问的问题也是对应的这样一个水平的吧,大神们勿喷哟),有些在网上搜了也没找到适合的答案,有些是已经找到答案了的,然后明天再整理和更新一下答案吧,话不多说,上题:

  • 1>***猫:

  1. python基础类:

    1. 字符串反转的常用处理方式:
    2. 你说一下python中的迭代器、生成器、装饰器
    3. 如果让你实现一个迭代器,你会怎么做
    4. 怎么样获取一个生成器?
    5. 你有用过yield对象吗?得到的是一个什么样的对象?
    6. 你有了解过python中的协程吗?
  2. 技能类:

    1. 你有用过git吗?
    2. 你有合过代码吗?
    3. 你有布署过代码吗?
    4. 布署的步骤是怎样的?你是怎么样把你的代码放到服务器中的?
    5. docker你有使用过吗?谈一谈
    6. 你平时是怎么去debug你的代码的?比如说有些代码是第一次写,你不知道你写的是不是对的,一但出现了问题,你要怎么去定位它,检测它?
    7. 你有多长时间的软件开发经验?
  3. 业务类:

    1. 你对电商的业务了解吗?

    2. 我问你一个具体的电商的业务啊:电商在大多数领域中都是有库存的,我在下订单的时候,我的库存的变化,你知道吗?(我问的是你怎么去处理库存的变化?)因为客户下单的时候,有些是去减库存了,有些不减对吧?你的理解呢?

    3. 你事务的时候有没有出现死锁的情况?

    4. 你刚刚说到的下单之后的库存锁的问题?你是在下单的时候去扣库存,还是在支付完成了以后去扣?

    5. 如果用户不支付,你的库存怎么办?(我还是没有听到你说,处理库存的点)

    6. 如果支付失败了,你对库存有一个什么样的动作?

  • 2>**港:

  1. 这个项目你当时做了多久?一共几个人?后台做的几个人?

  2. Whoosh是什么?和ES差不多是吧?
  3. 你是负责订单和商品哦?订单流程复杂吗?(一个完整的电商是从下单->支付->发货->退货->评价->售后,你们的流程是整个流程吗?
  4. 支付是用的什么?支付宝?微信?还是第三方?支付宝你是直接调http?还是它有库?
  5. 你们这个是前后端不分离的吗?
  6. 你们订单是用uid来存它的id还是数字来存id的?
  7. 你们是用纯SQL语句来做的?还是用filter过滤的方式来做的?(意思是我现在查个订单,现在有订单号了,如何出结果?有几十个条件的,用filter写起来好写不?还有包含、排除的这种?
  8. 搜索引擎用过吗?怎么样去把条件和商品做一个匹配?(如‘红色手机’)
  9. 怎么利用搜索引擎来做这个事情?
  10. 支付模块大概写了多久?就是把支付宝调通?
  11. authenticated有用过吗?
  12. 事务做过吗?
  13. 不提交前,能够查出来当前值,新增一条,但是没有提交,我去做查,该如何解决?数据库是不是被锁住的?有什么办法能够做到能够查询出来?
  • 3>**咨询:  

  1. 笔试题(图片格式):
  • 4>**科技(外包):

  1. 技术面:

    1. 你可以挑一个你比较得意的项目来聊一聊(你比较满意的,感觉还行的项目)
    2. 类似于电商的项目,在做后端设计的时候有没有做过并发的设计?不谈高并发,100个/s,200个/s这种的就可以

  2. 笔试(技术面试官口述):
    1. 简单讲一下装饰器的情况。写一个装饰器来测试一下算法的执行时间:
    2. A表对应到B表的详细的信息,A列表关联B列表,但是B列表中的id是残缺的,有没有办法能够写一个搜索语句,从A中拿ID,再从B中拿详细信息。(如果直接从A中去遍历ID去拿的时候,有可能B中详细的信息,是没有的)如何操作?
    3. 你平时学的时候,有没有学过数据结构算法这些?我问一个我们可能会遇到的问题:比如,我现在有一个列表,里面有100个乱序的数,我现在要排序,排序的话,我不希望用python的sort/sorted这种东西,你看能不能写一个简单的算法
  • 5>*路网(感觉像外包,但是好像又不用外派)

  1. 笔试题(纸质版的,但是上面有公司名称,故手敲了一份):
    1. python中==与is之间的区别是什么?下面图中的代码输出结果是什么?

      Class A(object):
      Pass a1 = A()
      a2 = A()
      print(a1 is a2)
      print(a1 == a2)
    2. python中函数调用的时候参数的传递方式是指传递还是引用传递?
    3. Python函数定义中常见的*args跟**kwargs分别有什么用途?
    4. Python中的decorator是什么,写出自己写过的最简单的一个decorateor
    5. Django/Flask中一次HTTP请求的处理流程:
    6. 请说明session跟cookie的区别及联系?
    7. 实现一个跟range具有相似功能的迭代器my_range
    8. 写出一个支持评论的博客的数据库表结构
  2. 技术面试(口述):
    1. 学习经历(学习路径,什么时候开始接触python的,具体来说看了什么教程,谁的教程,看了什么视频,看了哪一本书,看了些什么文档)最好是言之有物,具体到如Django文档,是全看了,还是看了某些部分比较明确的量化的东西
    2. 说一下项目经历
    3. 接触技术、学习技术以来,某一个最让你激动的时刻,如搞定了一个bug,或者是一个框架中长期困扰着你的问题,被你搞明白了,也可能是做出了很漂亮的一个界面等等,任何情况都可以,但并不一定是很牛逼的事情
    4. 人生迄今为止,你觉得最有成就感的一件事情
    5. 电影院的表结构是什么样的?一个电影院,一场电影,一个座位,他们之间有什么关系?添加一场电影的时候我怎么添加?管理员添加一场电影的时候?(逻辑)比如说我添加的时候,档期如何去排?
    6. 项目中会牵扯到规格这种问题吗?表结构是如何设计的?
    7. 你以前的工作都是做什么?
  • 6>工业**:

  1. 笔试题(隐藏公司名称,手敲):

    1. 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函数

    2. 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

    3. 下列哪种类型是python的映射类型?

      a.str        b.list       c.tuple           d.dict

    4. 下列代码执行结果是?[i**i for I in xrange(3)]

      a.[1, 1, 4]       b.[0, 1, 4]       c.[1, 2, 3]       d.(1, 1, 4)

    5. A与b定义如下,下列哪个是正确的?

      a = ‘123’       b = ‘123’
      a. a != b        b.a is b          c. a == 123          d.a + b =246

    6. 有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],返回乘方列表(使用python高阶函数):
    7. 有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],返回乘积(使用python高阶函数):

    8. 有一个列表a=[1, 2, 3, 4, 5, 6, 7, 8, 9],挑出奇数(使用python高阶函数):
    9. 简要描述python的垃圾回收机制(garbage collection)?
    10. python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)?
    11. 什么是python装饰器,如何使用?
    12. python模块中match和search的区别?
    13. *args and **kwargs的作用?
    14. python实现快速排序算法
    15. 现在要求计算二进制的逆序,如数34520用二进制表示为10000110 11011000将它逆序,我们得到了一个新的二进制数00011011000001

  

综上:总结一下上面的面试题,还是可以看到,对于两年工作经验的考察,主要还是基于对python的基础知识的掌握程度,以及对项目经验的询问上,希望能够帮到和我一样在找python工作的小伙伴们,明天再更新答案部分(谁能告诉我一下,后面这个1 2 3 怎么消除呀,哎,第一次发帖,有点不大会弄...)

MyFirstDay(附6篇python亲历面试题)的更多相关文章

  1. Python自动化测试面试题-接口篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  2. Python自动化测试面试题-经验篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  3. Python自动化测试面试题-用例设计篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  4. Python自动化测试面试题-Linux篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  5. Python自动化测试面试题-MySQL篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  6. Python自动化测试面试题-Redis篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  7. Python自动化测试面试题-Python基础篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  8. Python自动化测试面试题-编程篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  9. Python自动化测试面试题-Selenium篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

随机推荐

  1. java使用jdbc连接数据库步骤

    确定连接的数据库类型<mysql,oracle,db2,moangdb,sqlservlet> 下载数据库的驱动(http://mvnrepository.org),并把jar包添加到项目 ...

  2. FRM-40654 Record has been updated

    该错误是由于界面上对数据进行了修改后(比如为A),将修改前的数据(B)与数据库中的数据(B)进行配不成功时报错: 首先确认Form界面是否有其他人对数据进行修改: 如果无人修改: 将数据库的数据查询出 ...

  3. APK加固之类抽取分析与修复

    0x00 简单介绍   目前我己知的APK加固主要有以下两种方式(或有其它的方式有待发现) 隐藏dex文件:通过对目标DEX文件进行整体加密或压缩方式把整个dex转换为另外一个文件存放在assets文 ...

  4. Android 编码风格规范,很赞哦

    1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 1.1 术语说明 在本文 ...

  5. JQuery中Checkbox选择

    判断是否选中 $(this).is(":checked") 取消选中 $(this).prop("checked", false) 选中 $(this).pro ...

  6. 解决javascript四舍五入不准确

    function roundFixed(num, fixed) { var pos = num.toString().indexOf('.'), decimal_places = num.toStri ...

  7. 关于硬盘分区使用exFat格式的优势及劣势(含摘抄)

    优势 可以设置最大32M的簇: 不记录日志. 劣势 无法使用windows的“文件共享”: 通过近期某个文件数量密级任务的测试发现,在大量文件的处理性能上,NTFS比exFAT文件系统的性能高出不少. ...

  8. 【LOJ6045】「雅礼集训 2017 Day8」价(网络流)

    点此看题面 大致题意: 有\(n\)种药,每种药有一个权值,且使用了若干种药材.让你选择若干种药,使得药的数量与所使用的药材并集大小相等,求最小权值总和. 网络流 \(hl666\):这种数据范围,一 ...

  9. IOC、注入

    转:https://blog.csdn.net/lutianfeiml/article/details/51731219 实际开发中使用XML还是注解 XML: bean管理 注解: 注入属性的时候比 ...

  10. Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件

    浏览器会缓存相同文件名的css样式表或者javascript文件.这给我们调试带来了障碍,好多时候修改的代码不能在浏览器正确显示. 静态常见的加载代码如下: <link rel="st ...