zoukankan      html  css  js  c++  java
  • MyFirstDay(附6篇python亲历面试题)

      一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(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 怎么消除呀,哎,第一次发帖,有点不大会弄...)

  • 相关阅读:
    杭电 Problem
    杭电Problem 5053 the sum of cube 【数学公式】
    杭电 Problem 2089 不要62 【打表】
    杭电 Problem 4548 美素数【打表】
    杭电 Problem 2008 分拆素数和 【打表】
    杭电 Problem 1722 Cake 【gcd】
    杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
    杭电Problem 1872 稳定排序
    杭电 Problem 1753 大明A+B
    东北林业大 564 汉诺塔
  • 原文地址:https://www.cnblogs.com/wangxue533/p/10575791.html
Copyright © 2011-2022 走看看