首先说明一下我在系统里投递的是头条相关的后端开发,但是面试反问的时候,面试官介绍的是基础架构,中台开发,做中间件的,和抖音、头条对接的相关。搞得我就有点凌乱了。
4.14下午,一共1h20min。
自我介绍;
项目相关;
Python:
1. 以下代码的输出是什么?这里我一顿解释,结果发现跑出来不是我理解的结果,尴尬。这里其实主要考点是函数中默认参数值,只会使用一次(Python文档中有写到,https://docs.python.org/3/tutorial/controlflow.html#defining-functions里面的4.7.1)
def fun(a,b=[]): b.append(a) print(b) fun(1) fun(2)2.Python和C++的区别;
3.Python多线程(我猜主要考察GIL);
4.Python多线程和C++多线程的区别(我主要说GIL的影响);
5.Python的垃圾回收机制;
5.Python的垃圾回收机制;
网络:
1.tcp四次挥手;
2.为什么挥手四次,握手要三次;
3.2MSL的作用;
4.大量time_wait的原因?解决方法?重用是怎么实现的(这个不知道)?
5.tcp传输速率受什么影响?(我答的窗口值,拥塞阈值和网络带宽,感觉错了,求评论区大佬帮忙解答一下)
6.拥塞控制的实现?
7.服务端断电有什么反应?
8.对于tcp来说,服务端断电和进程挂掉有什么区别?
操作系统:
1.进程和线程区别;
2.进程通信方式;
3.线程独享的资源和共享资源?
4.fork之后的父子进程同时读取一个文件,有什么结果?(我答的是读取的内容应该一样,因为是读操作,但是从面试官的反应大概率我答错了,然后就说不知道了)
5.什么是僵尸进程?大量的僵尸进程如何处理?(我说的是kill,又问它是正常的吗?试试异常的?就说不知道了)
算法题题目:把数组元素按照正负序重排列。
描述:
给定一个数组,输出这个数组按照下面规则进行重排列之后的结果:
1. 数组中的正负数相互间隔;
2.符号相同的数字相对顺序不变;
3.如果某种符号数字多余,放到数组最后;
例如:[-1,3,2,4,5,-6,7,-9]
重排列后:[3,-1,2,-6,4,-9,5,7]
要求空间复杂度O(1)。
感觉面试官挺好的,体验不错,做题的时候会给一些提醒,救了我的大命。
但是到现在还没有给结果,大概率凉了吧。
全部评论
(1) 回帖