上来先自我介绍, 听到我主要语言是python就开始进攻了. 可能据我所知平安科技后端也有很大一部分是python, 这也是我面过的对python问得最深的.
python
- 元祖和列表的区别. 哪个插入删除更快.
- lambda表达式怎么写有什么作用, 随手写一个两个数相乘的lambda表达式
- python多线程怎么同步.
- 说说python的GIL.
- 对Gevent有多少了解.
- 装饰器什么作用.
- python2和3的区别在哪.xrange和range在两个版本的python分别有什么不同.
手写代码
- 用python写一个函数, 输入一个由26个大小写字母随机组成str字符串,去重并以ascii码顺序返回一个列表.
我的答案:
def my_func(s):
return sorted(list(set(list(s))))
被指出第一次list转换多余了可以省略, 我说不可以省略,不然set会把整个字符串s作为元素.面试官说回去可以上机测一下.(后来发现确实可以省略)
- 希尔排序写一下.
网络(TCP)
- TCP如何保证有序
- TIME_WAIT是什么连接状态
- socket编程有哪些常用方法.(阻塞/非阻塞socket)
算法与数据结构
- 二叉树搜索效率如何.
- b+树有哪些优点, 一次查询的时间复杂度如何.
- 快排时间复杂度多少.什么时候最好,什么时候最坏.
数据库
- 联合查询的左联右联.
- 怎么建索引,有什么好处.有什么坏处.
操作系统
- 进程地址空间如何分布(PCB,bss,堆,栈)
- 堆访问快还是栈访问快.
Linux
- 常用指令
- 软链接与硬链接的区别
- i-node有什么用
Java
说了有java基础,因此也问了几个java问题.
1.多态是怎么实现的.
非技术内容
感觉技术内容是面试官自己发挥, 非技术的是因为面试评分表上面有要求,所以这些问题回答都是"有/没有","是/不是"就过了,不深究.
- 实习了多久,主要做哪个垂直邻域. 有没有独当一面的项目.
- 成绩怎么样.
- 目前有没有offer.
- 确认期望工作地点.
总结
在python上算是遇到过问得最深的了.知识范围有点广,但如果准备过的话应该还可以应付.面完就说很快会发复试通知,有后续再来更新吧.
二面更新
二面技术非技术都有,主要看你碰上什么面试官. 有二面手撕代码的,也有只聊人生的.但是基本上都是从你的资料简历出发去问你.