专栏首页Python乱炖Python面试可能会问到的问题,你会几个?

Python面试可能会问到的问题,你会几个?

随着Python时代的到来(AI会用到Python,区块链会用到Python,大数据会用到Python,自动化会用到Python.......Python好像无所不能了

我们现在的Python职位越来越多,Python工程师也越来越多了,大家都争先恐后的去搞Python,搞什么人工智能了,就包括一些其他行业小白也想进军人工智能市场了

,AI这么火真的是谁都可以做吗?小编当初毕业的时候做的是Java,后来换到做了Python,当时就觉得做Python一是简单,二是需求量大,还有就是项目结束的时候用它编写自动化脚本来的更方便些。

对于那些培训班说,学了Python就能懂AI的就纯属瞎扯淡,花哥两万块去某内做个培训Python你就是AI工程师了?你就会深度学习了?你就会在AI界有立足之地了?

哦哦,那你学的不是AI,应该是API。

不是所有人都有天赋有能力来做这个行业的,大学高数线代离散都没及格的就想从Java进军人工智能市场,那你就省省吧,毕竟如果连最基本的线代离散都不会,这样的AI我看不是AI,是BI(悲哀)!

真的,如果你不像小编线代离散绩点都逼近4.0的,那你就好好做Java吧,机器学习什么的真的不是你该玩的,尤其是培训班,就更不要去了。当然如果你是做开发转测试,那这个还好,这个一般培训培训(或者自己学学)就能掌握了,应该没什么太大的难度。

总而言之就是不要看到什么火就去做什么,盲目跟风只会毁了自己,尤其是花高价钱去某内培训,然后出来发现自己和原来并没有什么两样,只不过会调api了,会看Python代码了,然后就没有然后了。。。。

出于自己对自己负责的心态,如果真的想学AI,你可以去coursera上看看吴恩达的教程(开始是免费的,应该够你学了),如果能看得懂,做的会,那恭喜你,你可以考虑进军AI市场了,当然,这只是开始,后面调参,量化,剪枝,防拟合会有你受的,总而言之,这并不是一条简单的道路,任何光鲜的背后都是枯燥无味的。

还有一点要说的是,Python只是一门语言,任何情况下语言都只是一门工具,你做的事情才是最后的结果,所以别听那些培训班胡说八道,学了Python就是学了AI,真正的AI是要从理论学起的,或者说AI的课程就是理论与计算,与Python无关,Python只是提供了相关的库,方便你调用而已,给你两行代码告诉你这是分类聚合,即使你看的懂API,可你真的懂吗?我想大家应该是心知肚明的,没有好的数学功底就好好当码农吧,其实挖代码也挺不错的,久而久之你挖的代码也能帮你找回你作为程序猿的自信呢!

废话说了那么多,下面来看看Python面试可能会遇到的知识点吧(纯Python知识点)

lambda函数是什么?

lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

lambda函数:首要用途是指点短小的回调函数

lambda [arguments]:expression

Python中pass是干嘛的?

pass语句不会执行任何操作,一般作为占位符或者创建占位程序。

while False:

pass

(看到它就像没看到就行)

如何在一个函数里面设置一个全局的变量?

解决方法:在函数的开始插入一个global声明:

def foo()

global x

匹配HTML标签的时候,<.*>和<.*?>有什么区别?

没有问号是贪婪模式,有问号是懒惰模式,如果是没有问号,它可以连续匹配多个相同的目标标签,如果是加了?变成懒惰模式,它就会匹配到一个就停止匹配。

a=[1, 2, 3, 4, 5],列表a中的偶数位置的元素进行加3后求和?

sums = sum(map(lambda x: x + 3, a[1::2]))

列表的sort方法和 sorted的区别是什么?

sort 是list的方法,改变list对象的顺序,返回值为None sorted是Python的内置方法,适用iterable对象,返回值是新列表,不影响原来的iterable的顺序

有一篇英文文章保存在 a.txt 中,请用python实现统计这篇文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数(只考虑空格,标点符号可忽略)

Python函数中经常有 *args,**kwargs 这两个参数,它们是什么意思,为什么要使用它们?

都是不定长参数,

*args返回的是tuple,

*kwargs返回的是dictionary。

Python中的变量作用域(变量查找顺序)

记住LEGB

local 局部变量--->enclosed 闭包作用域 ----> Global 全局---->built-in变量

如图,输出结果

1,1,1 1,2,1 3,2,3

1 1 1 继承自父类的类属性x,所以都一样,指向同一块内存地址

1 2 1 更改Child1,Child1的x指向了新的内存地址

3 2 3 更改Parent,Parent的x指向了新的内存地址

Python是怎样管理内存的?

Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。

数组和元组之间的区别是什么?

数组和元组之间的区别:数组内容是可以被修改的,而元组内容是只读的。另外,元组可以被哈希,比如作为字典的关键字。

参数按值传递和引用传递是怎样实现的?

Python中的一切都是类,所有的变量都是一个对象的引用。引用的值是由函数确定的,因此无法被改变。但是如果一个对象是可以被修改的,你可以改动对象。

Python中的unittest是什么?

在Python中,unittest是Python中的单元测试框架。它拥有支持共享搭建、自动测试、在测试中暂停代码、将不同测试迭代成一组,等等的功能。

Python中的模块和包是什么?

在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。

本文分享自微信公众号 - Python乱炖(Cooking_python)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python基础一

    changxin7
  • 还在用Excel做数据分析?两大方法教你 5 分钟完成别人一天的工作量!

    我是个只会用Excel的数据分析工作者。有一天,我和同事大鹏约好晚上一起喝酒,离下班还有5分钟,老板突然Q我:

    小小詹同学
  • 3.模块Ⅱ

    常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

    changxin7
  • 1.自定义模块

    ​ 一个函数封装一个功能,你使用的软件可能就是由n多个函数组成的(先备考虑面向对象)。比如抖音这个软件,不可能将所有程序都写入一个文件,所以咱们应该将文件划分,...

    changxin7
  • 4.生成器,内置函数Ⅰ

    什么是生成器?这个概念比较模糊,各种文献都有不同的理解,但是核心基本相同。生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概...

    changxin7
  • 预学二:计算机的基础知识+python安装+pycharm安装+思维导图

    根据当前系统的选择对用的,红色的是windows32位,绿色的是windows64位

    changxin7
  • 3.Python迭代器(函数名的应用,新版格式化输出)

    ​ 函数名的定义和变量的定义几乎一致,在变量的角度,函数名其实就是一个变量,具有变量的功能:可以赋值;但是作为函数名他也有特殊的功能就是加上()就会执行对应的函...

    changxin7
  • 2.Python函数的进阶

    昨天我们从形参角度,讲了两种参数,一个是位置参数,位置参数主要是实参与形参从左至右一一对应,一个是默认值参数,默认值参数,如果实参不传参,则形参使用默认参数。那...

    changxin7
  • 2.模块Ⅰ

    我们今天学习下序列化,什么是序列化呢? 序列化的本质就是将一种数据结构(如字典、列表)等转换成一个特殊的序列(字符串或者bytes)的过程就叫做序列化。那么有同...

    changxin7
  • web自动化|pyppeteer的使用-python版本puppeteer

    pyppeteer:puppeteer的非官方python库.支持python3.5|3.6|3.7

    测试邦

扫码关注云+社区

领取腾讯云代金券