一共面了50分钟。
自我介绍+一个项目详细介绍(10分钟)
Python:
装饰器?
怎么实现的?(我就直接写了一段简单的装饰器代码)
元组和列表的区别?
list去重?
list底层实现原理?
append操作的复杂度?(说错了,记成了insert的复杂度)
堆和栈的区别?
在栈上分配内存和在堆上分配内存的分配效率谁快一些?(我不知道,答的栈)
为什么?(不太了解)
栈的空间是有限的吗?(我答的内存分区里面有一个栈段,所以是有限的)
有限的话,怎么获取的栈空间的大小?(直接裂开,我开始答的递归操作太多就会引起栈空间不足,应该可以获取到栈空间相关信息,后来查了发现c++好像可以直接用代码获取到)
进程和线程的区别?
做题:
1.荷兰国旗问题。装一下思考的过程(其实写过),写代码,讲思路,没问题。
2.有效的括号,就一种括号。
我开始用栈写的,问我空间复杂度和时间复杂度?
2.1说有没有空间复杂度为1的?我开始说了Python的replace函数,面试官说,时间复杂度要是O(n),然后就说用一个变量,初始化为0,之后遍历字符串,遇到左括号,加一,遇到右括号减一。
2.2说如果整个字符串是非法的,那有什么办法把里面最长的合法括号串找到?我开始说的最长回文串的方法,后面发现不对,就说了一种基于2.1的暴力法。
linux
给个进程abc,怎么获取这个进程的pid?(我答的ps或者top)
查看这个进程打开了哪些文件描述符?(不知道了)
讲一下tcp四次挥手?
大量CLOSE_WAIT状态的原因?(感觉答错了,正确应该是被动关闭端在某些异常情况时,导致没有关闭Socket。)
没有反问?我以为凉了,然后收拾东西走出寝室,接到了电话,通知一面通过,约二面时间。
全部评论
(3) 回帖