在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
因为Python编程语言被越来越广泛的应用,企业对于python开发工程师的招聘也越来越多,而再进入职场的第一道坎上,很多Python工程师屡屡碰壁,需要很长时间才能找到合适的工作。虽然有一部分是因为技术能力确实无法满足企业需求,而更多的人技术能力很强仅仅是因为面试过程中没有良好的发挥。所以作为Python开发工程师,不仅仅要掌握知识,同时也要多了解一些面试题。这样在遇到跳槽的时候才能更快的找到满意的工作。下面就是python开发工程师面试中常见的知识点集锦。
问题一:对不定长参数的理解?
答:不定长参数有两种:*args 和**kwargs。
当我们不确定传入的参数的个数或者想传入元组时,可以用*args。当我们想传入关键字参数或者字典时可以使用**kwargs。
问题二:对缺省参数的理解?
答:缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,传入参数的时候,所传入的参数会替代默认参数。
问题三:什么是 lambda 函数?它有什么好处?写一个匿名函数求两个数的和。
答:lambda 函数是匿名函数;使用 lambda 函数能创建小型匿名函数。这函数得名于省略了用 def 声明函数的标准步骤;
f = lambda x,y:x+y print(f(2017,2018))
问题四:深拷贝和浅拷贝的区别?
答:(1)浅拷贝是将对象顶层拷贝,拷贝了引用,并没有拷贝内容,原对象改变新对象也跟着改变。
(2)深拷贝是对一个对象的所有层次的拷贝(递归),但是修改原来的值,新对象不受影响。(3)浅拷贝对于可变类型和不可变类型是不同的,对于可变类型只拷贝顶层,不可变类型依然是原来的对象。
问题五:什么是可变、不可变?元组里添加字典,会改变 id 吗?
答:(1)可变不可变指的是内存中的值是否可以被改变,不可变类型指的是对象所在内存块里面的值不可以改变,有数值、字符串、元组;可变类型则是可以改变,主要有列表、字典。
(2)元组的顶层元素中包含可变类型,在可变类型中修改或添加字典id 不会改变。
问题六:生成器、迭代器的区别?
答:(1)在 Python 中,一边循环一边计算的机制,称为生成器:generator,生成器是可以迭代对象,但是生成器可以通过 send 传值返回到前面。
(2)迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
(3) 迭代器是一个可以记住遍历的位置的对象。
这里和大家分享了六个python开发工程师面试的时候常见的问题。后续会不断的和大家分享相关面试题,欢迎大家持续关注。同时博学谷平台有大量的免费课程以及优质低收费的python技术课程。博学谷平台愿意做你职场上升途中的加油站。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python开发中类方法、类实例方法、静态方法的区别和作用
Python开发中类方法、类实例方法、静态方法的区别和作用:类方法是类对象的方法;类实例方法是类实例化对象的方法;态方法是一个任意函数,在其上方使用“@staticmethod”进行装饰。
10901
2019-06-28 14:42:21
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
10881
2019-07-02 16:33:41
Python面试题scrapy和scrapy-redis的区别是什么?
Python面试题scrapy和scrapy-redis的区别是什么?为什么选择redis数据库?scrapy 是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。选择redis 数据库因为 redis支持主从同步,而且数据都是缓存在内存中的。
8617
2019-07-04 17:55:35
Flask框架和Django框架的区别是什么?
Flask框架和Django框架的区别:Flask框架自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库;Django太重了,除了web框架,自带ORM和模板引擎,灵活和Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉;
8694
2019-07-16 19:04:16
Python爬虫Ajax动态加载知识点讲解
Python爬虫Ajax动态加载知识点讲解,Ajax动态加载工作原理从网页的url加载网页的源代码之后,会在浏览器里执行JavaScript程序。这些程序会加载出更多的内容,并把这些内容传输到网页中。
8207
2019-07-25 18:03:44