Python教程

鹅厂工程师耗时两天整理的292道python大厂面试题

本文主要是介绍鹅厂工程师耗时两天整理的292道python大厂面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

相对于python大家应该都不会陌生吧!现在java跟python可以算的是势均力敌了,所以现在学习python 的小伙伴也是越来越多了,可是学完之后就能找到称心如意的工作了吗?很多小伙伴学习Python的时候感觉很简单,但是到了去面试的时候就是一头雾水,常常被问到一些问题不知道跟怎么做。

小编为了大家整理两天,今天它来了python大厂292道面试题。希望大家能够希望!

 

292道python大厂面试题

学习python的优点是什么?

  • python语法非常优雅,简单易学
  • 免费开源
  • 跨平台,可以自由移植
  • 可扩展,可嵌入性强
  • 第三方库丰富

python的应用领域

  • 在系统编程中应用广泛,比如说shell工具.
  • 在网络爬虫方面功能非常强大,常用的库如scrapy, request 等
  • 在web开发中使用也很广泛,如很多大型网站都用python开发的,如ins,youtube等,常用的框架如django, flask等
  • python在系统运维中应用广泛,尤其在linux运维方面,基本上都是自动化运维。
  • 在人工智能,云计算,金融等方面也应用非常广泛。

python和java、php、C、c#、C++等其他语言对比?

  • Java C# PHP Python (开发效率高),这些语言本身不需要你去管理内存了。它们都有自己的虚拟机,对于开辟内存、释放内存都由这个虚拟机处理。
  • C和Python, Java、C#等C语言:代码编译得到机器码,机器码在处理器上直接执行,每一条指令控制CPU工作其他语言:代码编译得到字节码,虚拟机执行字节码并转换成机器码再后在处理器上执行Python和CPython这门语言是由C开发而来
  • 对于使用: Python 的类库齐全并且使用简洁,如果要实现同样的功能,Python10行代码可以解决,C可能就需要100甚至更多
  • 对于速度: Python 的运行速度相较与C,绝逼是慢了Python和Java、C#等
  • 对于使用: Linux 原装Python,其他语言没有;以及门语言都有非常丰富的类支持
  • 对于速度: Python 在速度上可能稍显逊色所以,Python 其他语言没有什么本质区别,其他区别在于:擅长某领域、富先入为主

python解释器种类以及特点

  • CPython
  • c语言开发的 使用最广的解释器
  • IPython
  • 基于cpython之上的一个交互式计时器交互方式增强功能和cpython一样
  • PyPy
  • 目标是执行效率勁JIT技术对python代码进行动态编译,提高执行效率
  • JPython
  • 运行在Java.上的解释器直接把python代码编译成Java字节码执行
  • lronPython
  • 运行在微软.NET 平台上的解释器,把python编译成NET的字节码

请列出至少5个PEP8规范

PEP8规范

  • 每个缩进级别使用4个空格
  • 每行代码的最大长度限制为 79个字符
  • 若是导入多个库函数,应该分开依次导入
  • 道路应按照以下顺序导入

a、标准库导入

b、相关的第三方库导入

c、本地应用程序的库导入

  • 在表达式中避免无关的空格
  • 在括号或者大括号内
  • 在尾随逗号和后面的右括号之间
  • 在逗号,分号或者冒号前面.
  • 函数名的与后面的参 数的括号之间
  • 代码更改时,相应的注释也要随之更改
  • 命名要规范,通俗易懂

如何实现字符串的反转?如:name=felix,反转成name=xilef

name = "felix"
#方法
name=name[:- 1]
#方法二:
name2=list(name)
name2.reverse0
name="join(name2)
#方法三:
from functools import reduce
name= reduce(lambda x, y: y+x, name)

文件操作时,xreadlines 和readlines的区别

  • xreadlines返回的是一个生成器
  • readlines返回的是一个列表

列举字符串、列表、元组、字典每个常用的5个方法

字符串---字符串方法总结

  • strip( ->去掉字符串两端的空白符
  • split() ->对字符串进行分割,默认按照空格分割
  • join() ->字符串连接
  • startwith0,endwith0 ->判断是否以啥开头或者结尾
  • replace() ->字符串替换
  • find() -> 查找字符串,存在返回第一个索引,不存在返回-1

列表---列表方法总结

  • count() ->统计在列表中出现的个数
  • apped0 ->在列表末尾添加值
  • pop() ->删除- 个对象,默认最后-一个
  • remove()->删除指定的第-个匹配项
  • insert() -> 插入对象
  • index() -> 获取索引

元组

  • count() ->统计在元组中出现的个数
  • index() ->获取索引

字典

  • keys0 ->获取所有的键
  • pop()->删除指定的键的键值对
  • popitem() ->随机删除- - 个键值对
  • update() ->更新字典,参数为一个字典,如果键已存在,则更改,不存在则添加
  • setdefault( ->如果键存在则,返回该键对应的值,如果不存在,设置该键为设置的默认值,然后返回该键对应的值
  • get( -> 返回键对应的值
  • fromkeys() ->创建字典,第一个参数为可迭代对象,每个值变成字典的键,第二个参数为每个键的默认值

(由于面试答案太多小编就只整理了面试题目)

面试题

  • 什么是反射,以及应用场景
  • 简述python的深浅拷贝
  • python的垃圾回收机制
  • python的可变类型和不可变类型的区别
  • 常用字符串格式化有哪几种?
  • 有两个字符串列表a和b,每个字符串是由逗号隔开的- -些字符
  • 解决哈希冲突的算法有哪几种?分别有什么特点?
  • 简述python字符串的驻留机制
  • python哪些类型的数据才能作为字典的key?
  • 描述以下字典的items()方法和iteritems()方法有啥不同?
  • 请冽举你所知道的python代码检测工具以及他们之间的区别
  • 介绍一下try except的用法和作用?
  • 在python中如何拷贝-个对象,并说明他们之间的区别
  • python中进制转换
  • 关于Python程序的运行方面,有什么手段能提升性能?
  • python是如何进行内存管理的? python 的程序会内存泄漏吗?说说有没有什么方面阻止或者检测内存泄漏?
  • 1 <(22)和1<22的结果分别是什么?
  • 如何查找一个字符串中特定的字符? find 和index的差异?
  • 生成器与函数的区别?
  • 上面是部分面试资料,全套面试资料欢迎找我领取

这篇关于鹅厂工程师耗时两天整理的292道python大厂面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!