python后端面试总结交流

上周去面试,具体去哪家就不说了,面的薪资18~30K的后端工程师。遇到了一些面试题,我当时是有点无奈的,顺便也记了下来跟大家分享一下,希望能跟大家一起交流下。你们觉得这些问题该如何回答?

1、python中new是干什么用的?

我:嗯??python没有new这个关键字吧,我用的python3.6
追问:确定吗?
我:确定!
追问:类的__new__()函数什么时候用?
我:嗯??有这个,但我没怎么用过。
我的内心:这尼玛也叫问题,我要百度下再背下来吗?正常人谁会写new,都写init

2、你会使用mongodb吗?一般什么时候用?

我:会,我是会用,什么时候用看需求吧
我的内心:想用就用呗
追问:mongodb跟sql类的数据库有什么区别?
我:关系型数据库和非关系型数据,更深入的不清楚
追问:还有什么区别呢?
我:不清楚
我的内心:我这是来考计算机文科了吗?

3、你知道多线程和多进程吗?

我:知道,我理解一个程序从启动到结束的整个生命周期是一个进程,然后在期间执行的一些异步任务可以看做多线程。
追问:多线程和多进程之间的通信方式有哪些?
我:socket,queue队列,文件,管道
追问:假如让你自己实现一个队列,你有什么思路没?
我:多进程之间可以用文件来实现吧
追问:还有吗?
我:......

4、说出常见的数据结构

 我的回答:数组,元组,字典,集合
 追问:还有呢?
 我:......
 追问:假如我从往数组里删除某个元素,你要怎么做?
 我:pop,remove
 追问:不用这些呢?这些是人家写好的
 我:切片再组合
 追问:切片占内存,不用切片呢?
 我:......
 我的内心:干脆别用python了

5、设计一个数据库,应用场景是微信好友聊天,好友,羣,聊天记录互相关联

 我画完了

6、回去等通知

 我:谢谢,辛苦你了
 我的内心:啥玩意,不过就不过,等通知不是浪费我时间?
点赞