千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:广州千锋IT培训  >  面试技巧  >  实用的Python工程师面试题分享

实用的Python工程师面试题分享

来源:千锋教育
发布人:木子
时间: 2019-01-28 16:49:57

  小编今天给大家带来一篇Python工程师的面试总结,文章中列举了Python工程师在面试中体会到的,各方面需要掌握的技能有哪些,并详细列举了出来,当然了,并不是掌握这上面列举的技能就好,面试官的要求是实时变化的,你多会一点,都是面试中的亮点。

Python面试

  1、 算法排序部分

  1)手写快排;堆排;几种常用排序的算法复杂度是多少;快排平均复杂度多少,最坏情况如何优化

  2)手写:已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来,你写的解法算法复杂度多少

  3)手写:一个列表A=[A1,A2,…,An],要求把列表中所有的组合情况打印出来;

  4)手写:用一行python写出1+2+3+…+10**8

  5)手写python:用递归的方式判断字符串是否为回文

  6)单向链表长度未知,如何判断其中是否有环

  7)单向链表如何使用快速排序算法进行排序

  8)手写:一个长度n的无序数字元素列表,如何求中位数,如何尽快的估算中位数,

  9)你的算法复杂度是多少;

  10)如何遍历一个内部未知的文件夹(两种树的优先遍历方式)

  2、python语法以及其他基础部分

  1)可变与不可变类型

  2)浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现

  __new__() 与 __init__()的区别

  3)你知道几种设计模式

  4)编码和解码你了解过么

  5)列表推导list comprehension和生成器的优劣

  6)什么是装饰器;如果想在函数之后进行装饰,应该怎么做

  7)手写个使用装饰器实现的单例模式

  8)使用装饰器的单例和使用其他方法的单例,在后续使用中,有何区别

  9)手写:正则邮箱地址

  10)介绍下垃圾回收:引用计数/分代回收/孤立引用环

  11)多进程与多线程的区别,CPU密集型适合用什么

  12)进程通信的方式有几种

  13)介绍下协程,为何比线程还快

  14)range和xrange的区别

  3、数据库部分

  1)MySQL锁有几种;死锁是怎么产生的; 为何,以及如何分区、分表;

  2)MySQL的char varchar text的区别:

  了解join么,有几种有何区别,A LEFT JOIN B,查询的结果中,B没有的那部分是如何显示的(NULL)

  3)索引类型有几种,BTree索引和hash索引的区别(我没答上来这俩在磁盘结构上的区别)

  4)手写:如何对查询命令进行优化

  5)NoSQL了解么,和关系数据库的区别,redis有几种常用存储类型

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>