首先声明:我是美团python后端开放岗,8.23线上面试,面试官特别和蔼可亲,人特别好,基本上所有的问题不是按着简历掌握技能上写的问,就是从我的上一个回答中挑出东西问,全程态度好到我回答不出来问题都不好意思
上来先自我介绍,没有时间限制,自我介绍完项目的事一点没说
面试官:好,那我就对着对着简历简单的问一下吧
面试官:我看你简历上说了python的内存管理机制,谈一谈对python的内存管理机制的理解吧
我:说了一些引用计数,缓冲区的
面试官:我简历上说你对java了解一点,那java的内存管理机制了解过吗
我:我对Java的了解目前仅限于可以看懂别人写的代码,具体java的内存管理机制不太了解,然后就下一个问题
面试官:既然说到了内存管理,操作系统也有内存管理,谈一谈对操作系统的段页式内存管理的理解吧
我:说了一下段页式内存管理,中间带有说到内部碎片外部碎片
面试官:跟我具体说了内部碎片外部碎片相关
面试官:好,说一下对多线程的调度机制的了解吧
我:说了多进程的调度算法,注意是多进程,
面试官:多进程也可以
面试官:说一下多进程的通信方式
我:那几种都说了一下,说到了管道
面试官:既然说到了管道,谈一下对管道的理解吧
我:管道是半双工等一些东西
面试官:管道是怎么运作,怎么通信的,管道和socket有什么区别呢
我:管道是怎么运作,怎么通信的说了一下,socket这个我了解的不多,这个就没问
面试官:好的,那对异步和同步了解吗,说一下同步和异步,阻塞和非阻塞的区别,以及他们的关系吧
我:正常回答,
面试官:异步和非阻塞等价吗
我:这个问题我回答的可能不是很好
面试官:对IO模型了解吗
我:了解一点IO复用,说了一下IO复用的效率要比多线程多进程高,然后还说到了UDP和TCP
面试官:为什么IO复用的效率要比多线程多进程高呢
我:正常回答
面试官:既然说到了网络,那么说一下咱们常用的TCP/IP协议簇里面的TCP和IP具体的作用是什么吧,TCP和IP扮演了什么角色
我:正常回答
面试官:TCP/IP实现可靠传输除了使用三次握手四次挥手外,还用了什么策略
我:超时重传,流量控制,拥塞控制,停止等待协议
面试官:超时重传具体讲一下
我:正常回答
面试官:比如上游发送过来1234四段数据流,但是下端只接收到124,接下来会发生什么
我:正常回答
面试官:好,我们来写一个简单的题吧,二分查找
我:正常写
面试官:检查了一遍,先讲一下你的这个程序,然后让我给一个输入测试一下
我:讲完思路后给输入,测试是正确的
面试官:我把你的输入稍微改一下,把[1,2,3,4,5,6,7]改成了[1,2,3,4,6,6,7],接下来让我查找6,要求更改刚才的代码,要求继续基于二分查找来更改
我:实际上这是二分查找的进阶版,但是我记不太清边界条件了,我凭着记忆改了一下,最后调试结果是对的,但是实际上是因为我的输入比较给力,结果才对的,其实我还说了可以对查到的target后,加一个循环判断,直到最后一个target,返回下标,我也知道这个方法并不是面试官的最佳答案,最后这个题的标准答案还是没写出来
面试官:对Mysql了解的多吗,我看你简历上写的了解Mysql基本操作
我:Mysql的题做的不太多,简单的题可以写一些
面试官:出了个简单的题
我:我没写出来,我的Mysql的题做的真的不太多,这里很难受
面试官:数据库八股文背的怎么样(原话)
我:背的还好(我也不敢说背的不好,毕竟数据库题都没做出来)
面试官:事务四种隔离机制,分别造成了什么问题
我:正常回答,提到了脏读,不可重复读,幻读
面试官:解释一下脏读,不可重复读
我:正常回答
面试官:脏读,不可重复读的区别
我:可能说的不太准
在最后整整一小时时间到,面试官:有什么想问我的吗
我:您对我接下来学习和努力的方向有什么建议吗
面试官:首先你的简历写的挺多,有些地方的基础知识要再看一下,要了解具体内部的原理,等等
最后,道谢,结束
总结起来,上面的这个过程肯定是没有我说的这么顺利,也遇到了很多问题,面试官人特别好,懂得也很多,一看就是大佬,主要是我准备的不够充分,还要继续努力,当然希望进入二面,目前等待消息,后续实时更新。
写在最后:找工作是很痛苦的,有的人开始准备的早,有的人准备的晚,无论别人的offer多么诱人,这也是他应该得到的,我们应该看得远一点,真正能够决定我们一生的不是找工作,而是我们自己,只有积极进取,不停下自己的脚步才能收获想要的,我很开心身边有很多陪着我一起找工作的儿子们,现在这个阶段,就是我以后的美好回忆,所以我也很享受
每个人都会有美好的未来,是这样的。
有问题欢迎和我交流
全部评论
(3) 回帖