美文网首页
“秒杀”面试官,我们来看看Python的面试题!

“秒杀”面试官,我们来看看Python的面试题!

作者: 爱尚教育IT学院 | 来源:发表于2019-04-23 10:31 被阅读0次

    经常听到有朋友和我说:

    哎,今晚有一场面试分享,

    据说主讲人校招拿了BAT三大offer,

    要不要一起去听听?

    于是…...

    听了…...

    可能也做笔记了......

    然而…..

    “我一面又挂了!”

    “哦,我的天,今天群面光荣gg......”

    其实面试很重要,技术更重要。

    赶紧先看看这几道面试题。

    压压惊。

    Q1:PEP8是什么?Python之禅(import this)是什么?

    这题是考察你对编码规范的认识,无论是自己写代码还是在团队中写代码,了解并遵循代码规范是很基础的要求。企业中在提交代码后都会有对应的工具来对代码进行检查,比如pep8、flake8、pylint 等,但是 PEP 8 是什么一定要了解。

    即Style Guide for Python Code(Python编码风格指南)。如果面试时不知道什么是 PEP 8 ,那聊起来想必不会很愉快。速战速决的面试,如果不是你把面试官“秒杀”了,那就是面试官把你“秒杀”了,大部分是后者。Python 之禅,也就是 import this。这属于对 Python 文化的了解了。什么意思?你去 Python shell 里执行一下:import this,然后搜索下答案自然就出来了。

    Q2:GIL 是什么?它的影响和具体原理是什么?

    GIL:Global Interpreter Lock(全局解释器锁)。具体表现就是:在一个进程中,同一时刻只能有一个线程能到解释器,为什么只能有一个线程拿到解释器呢?因为在 CPython 中,内存管理不是线性安全的,所以,为了避免多个线程同时访问到一个对象,就有了这么一个锁。顺带着也提到了线程安全的概念,有了 GIL 了,那么 Python 中有哪些类型是线程安全的呢?哪些不是呢?又是一个新的问题。那么 GIL 的影响是什么呢?就是同一时刻只有一个线程在真实执行,对于 CPU 密集型的应用影响比较大,对于 IO 密集型的应用影响没那么大。当然还可以具体展开来说。

    Q3:如何理解 Django 被称为 MTV 模式?

    如果是我来问这个问题,这个题就是面向对象设计和设计模式的开始。简单来说大家耳熟能详的模式叫: MVC。说是 Model View Controller,而在 Django 中因为 Template 来处理视图展现,所以称为: MTV。接下里会问到的就是分层的概念,有句话叫:“没有什么问题是不能通过增加一层解决的,如果有,那就再加一层。”当然还会有设计模式的一些原则等着你,比如开-闭原则、单一职责原则等。

    相关文章

      网友评论

          本文标题:“秒杀”面试官,我们来看看Python的面试题!

          本文链接:https://www.haomeiwen.com/subject/aximgqtx.html