记一次Python Web后端开发电话面试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次Python Web后端开发电话面试相关的知识,希望对你有一定的参考价值。

    电话面试是在前天周三下午就约好了的。原本电话那头是想当时就进行沟通的,但在得知我在上班后选择了另约时间,刚好那天晚上面试官也没时间,遂改为周六9:30~10:00这个时间。

 

    昨天不知是怎么了,可能是在公司盯屏幕盯太久了,一回来发现右眼已经满眼血丝,吃完晚饭后眼睛也是疼得不行,所以8点多就不知不觉睡着了。半夜十二点多醒来,发现睡不着了,玩了会手机又重新调了下闹钟,生怕睡过头了。还好,八点十多分醒过来了,九点左右已经做好接电话的准备了,趁着还有半个小时还赶忙把《Flask Web开发》这本书给过了一遍,以为面试官会着重让自己讲讲所做项目的细节,还好电话面试只是简单聊聊技术,并没有问关于我项目的细节问题。

 

    不知不觉等到了十点,以为这次是被放鸽子了,十点零六分电话还是来了。按照常规,先确认了下是不是我本人后再自报家门。

 

    接着简单问了下我现在的公司是做什么的,然后为什么要跳槽。我回答了两条:第一是嵌入式这个行业已经在走下坡路了,第二是相比于嵌入式自己更喜欢互联网行业,而毕业时选择嵌入式也是由于不大清楚自己真正喜欢什么,刚好专业是通信工程,跟这个比较接近。其实这两点可以算作一点的,面试官没继续问我也没继续说了。

 

    然后是技术相关的问题,问我什么时候开始学Python的,回答去年末到今年初这个时间,前端之前也有学习,这次在自己做项目的过程中又熟悉了一遍。

 

    然后问现在Python学到了什么程度,相比C的话,回答相比C可能会差一点,但是自己一个项目做下来后发现自己独立承担项目还是没有问题的。然后是一个关于C语言的问题,问C里面malloc()之后进行free()是如何知道要free多少字节的,这个问题不是不知道,而是可能被问的方式给问懵逼了...然后停顿了会,说只知道malloc()是通过链表实现的。

 

# 关于这个问题,Stack Over Flow上面有答案: http://stackoverflow.com/questions/1518711/how-does-free-know-how-much-to-free

 

 技术分享

 

  再然后又说Python相比C要自己手动管理内存,Python是如何管理内存的,或者说如何进行垃圾回收的。然后我回答通过引用计数的方式进行垃圾回收,面试官好像不大满意,然后问还有吗,又瞬间懵逼了,停顿了好一会才想起来回答说除了以引用计数方式进行的主动垃圾回收还有通过delete对象的方式进行主动内存释放。

 

  再再然后就是网络协议相关部分,先是问我有哪些网络协议,表示没听懂面试官到底想问啥,以为是想问网络的OSI七层模型,结果面试官说不是,然后说是应用层的网络协议,只回答了HTTP和FTP,面试官也没多问了。紧接着说看我简历上写了熟悉LAMP架构,然后问除了LAMP架构还有啥架构....可能不太明白面试官的意思,然后一堆乱说,什么P有php和Python啊,什么把Apache换成nginx啊,什么Node.js啊什么Ruby on Rails啊....

 

    再再再然后是HTTP请求方式有哪些,GET/POST/PUT/DELTE/OPTIONS...一口气把这些吐出来了,说完面试官也不想继续让我说下去的意思。然后是GET和POST的区别是啥,就回答了GET的数据通过URL传输,而POST通过HTTP body进行数据传输,安全性POST较好,面试官还继续问还有吗,停顿了会后只好回答暂时没想到....sad。

 

#  关于GET和POST的区别,过后看了下这篇文章:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
#  简要概括GET和POST的区别:

#  1. 幂等。GET为请求数据,没有副作用,每次请求的效果都相同。POST为修改数据,相对GET来讲没有那么安全(因为要修改数据)。

#  2. 安全性。GET通过URL以明文的方式传输数据,敏感数据意被窃取。

#  3. 长度限制。一般通过GET方式传输数据,由于URL长度限制传输的数据有限,而POST没有限制。

 

  

    最后一个问题是HTTP状态码,当然最常见的200 OK,然后301 Moved Permanently,302 Moved Temporarily(Found) ,然后面试官问303(See Other)就懵逼了,回答反正是转移具体什么转移不大记得了...然后404就彻底懵了,Not Found啊啊啊啊,除了200之外最常见的状态码居然被我搞成Forbidden了,然后我一连串解释....说401才是Forbidden结果越解释越懵,面试官说403才是Forbidden,我也知道啊,但就是懵地回答错了,想想还真忘了401是啥了(401 Unauthorized).....

 

    然后就到了我提问的环节了,问了下公司的技术栈,Python+mysql,跟我的技术栈还蛮符合的,再再然后面试官就说等邮件约了。

 

    好像是第一次电话面试,也是寻找Python岗位的第一个面试,感觉今天得面试就是一连串的懵逼,表现不太完美,总体还行,多面面就不会懵了。

 

-EOF-

以上是关于记一次Python Web后端开发电话面试的主要内容,如果未能解决你的问题,请参考以下文章

记一次电话面试的题目

记一次阿里云的面试

JAVA面试:记一次阿里电话面试(中)

十年Java编程开发生涯,记一次网易Java研发岗的面试经历,极其重要

初面蚂蚁金服,记一次美团Java研发岗的面试经历

记一次C++后台开发面试拷打过程