千锋郑州老师分享常见的Python面试题
近年来Python很火,更重要的是Python入门简单,就业前景广阔,为此很多人都转行学Python,这在一定程度上加剧了市场竞争。想要获得一份高薪工作,扎实的技术功底必然不可或缺,但如何在面试的过程中充分的展示出自己的实力很关键。今天千锋郑州老师就给大家分享几个企业经常提问的面试题。
1、什么是Python?
如果你应聘的是一个Python开发岗位,你就应该知道这是门什么样的语言,以及它的优缺点,这样才能更好的去使用它。Python是一种动态、解释型语言,Python代码在运行之前不需要编译,不需要说明变量的类型,没有访问说明符,非常适合面向对象的编程(OOP)。Python代码编写快,但是运行速度比编译语言通常要慢,它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况。
2、Python是如何进行内存管理的?
1)垃圾回收:对Python语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因。
2)引用计数:Python采用了类似Windows内核对象一样的方式来对内存进行管理。每一个对象,都维护这一个对指向该对对象的引用的计数。当变量被绑定在一个对象上的时候,该变量的引用计数就是1,系统会自动维护这些标签,并定时扫描,当某标签的引用计数变为0的时候,该对就会被回收。
3)内存池机制:Python的内存机制以金字塔行,-1,-2层主要有操作系统进行操作,第0层是C中的malloc,free等内存分配和释放函数进行操作;第1层和第2层是内存池,有Python的接口函数PyMem_Malloc函数实现,当对象小于256K时有该层直接分配内存;第3层是最上层,也就是我们对Python对象的直接操作。
3、描述一下Django的架构。
对于Django框架遵循MVC设计,并且有一个专有名词:MVT。M全拼为Model,与MVC中的M功能相同,负责数据处理,内嵌了ORM框架;V全拼为View,与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse;T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎。
4、scrapy和scrapy-redis有什么区别?为什么选择redis数据库?
scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis数据库里的item队列、请求队列和请求指纹集合。redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。
5、如何优化数据库?
方法有很多种:1)优化索引、SQL 语句、分析慢查询; 2)设计表的时候严格根据数据库的设计范式来设计数据库;3)使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO;4)优化硬件;采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等;5)采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率;6)垂直分表;把一些不经常读的数据放在一张表里,节约磁盘I/O;7)主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来;8)分库分表分机器(数据量特别大),主要的的原理就是数据路由;9)选择合适的表引擎,参数上的优化;10)进行架构级别的缓存,静态化和分布式;11)不采用全文索引;12)采用更快的存储方式,例如 NoSQL存储经常访问的数据。
当然,不同公司需求,面试的侧重点也会不同,在此就不一一列举。如果你想快速掌握高端Python开发技术,不妨来千锋郑州Python培训班。这里有专业的老师带你,采用全程面授、项目驱动教学模式,还有全方位、多角度的一体化就业保障服务,让你高效学习、快速就业。
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
如何在面试中得高分?一般要注意哪些方面
沸UI设计师如何应对面试?哪些细节不可忽略
热求职者如何应对面试?需要特别注意什么
热Java面试必问什么技术?如何搞定Spring框架
新求职过程中如何抓住机遇?要注意哪些要点
郑州Web前端培训之JavaScript面试题推荐
郑州云计算培训机构之常见面试题及答案
如何开始求职生涯?个人简历有哪几种类型
初入职场大学生如何应对?怎么规避职场风险
企业对Python人才的招聘需求有哪些?
职场新人如何找到适合自己性格的工作?
大学生如何尽快获得职位?需要注意哪几点
毕业生如何应对求职?推荐10条参考标准
常见UI设计面试题有哪些?郑州UI培训好不