一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(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][Servlet] Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]

    Background: Servlet version 3.1(3.0之后就有了@WebServlet注解) Error 严重: Failed to destroy end point associa ...

  2. Linux 拷贝

    拷贝文件夹下所有内容到另一个文件夹: cp -rf 源文件 目标文件 例如:cp -rf /home/efs/Desktop/WEB-INF/* /opt/IBM/WebSphere/AppServe ...

  3. elasticsearch结构化查询过滤语句-----4

    1.之前三节讲述的都是索引结构及内容填充的部分,既然添加了数据那我们的目的无非就是增产改查crudp,我先来讲讲查询-----结构化查询 我们看上图截图两种方式: 1)第一种,在索引index5类型s ...

  4. Python元组类型、字典类型及常用操作

    一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...

  5. Vue.js双向数据绑定模板渲染

    准备知识 1. 前端开发基础 html.css.js2. 前端模块化基础3. 对ES6有初步的了解 vuejs官网:cn.vuejs.org HTML: <!DOCTYPE html> & ...

  6. [转]QT 4.8 静态库编译方法

    最最初踏上QT之路是受到了XiaomaGee的指点,相比于常规的窗口程序开发,QT有着以下特点: 1. 优良的跨平台特性(支持Win.Linux.Mac 不同的平台下只需重新编译即可使用) 2. 面向 ...

  7. .Net CIL

    MachineCode->Assembly->CIL(.Net) or SpecialMachineCode(JVM)->Pogramming code CIL Instructio ...

  8. 初识ImageSwither

    imageswitcher继承自viewswitcher,使用ImageSwither只需要两步: 1.为ImageSwither提供一个ViewFactory,该ViewFactory生成的View ...

  9. Struts2 displaytag 导出文件为空

    以一个user的查询为例,在struts.xml配置里有这个action的配置: 然后可以在UserAction.java里找到list方法这个就是无非new 一个List<User> u ...

  10. oop编程思想

    oop的编程思想:抽象.封装.继承.多态. 1.抽象: 数据抽象:类描述的对象的属性或状态 行为抽象:类描述的对象的行为或功能 举例: 时钟:Class 数据:int Hour,Minute,Seco ...