希望给我一个offer!
面试经历不多,前两次面试没有准备好,都是1面挂。
美团1面:(java)
美团的面试官感觉人很不错,虽然我挂了,但是是自己确实答的不好。
1.自我介绍。
2.说一说排序算法知道哪些?时间复杂度都是多少?最好情况下是多少?最坏情况下是多少?
3.说一说你知道的java的数据结构。说一说hashMap的底层。它是线程安全的吗?你还知道哪些Map呢?
4.说一说java中的锁。jdk新特性中关于锁的部分?lock是可重录锁吗?是自旋锁吗?悲观锁/乐观锁?
5.数据库事物的四个特性?4种隔离级别?
6.写一个类,完成对人民币的加减乘除操作。
记得的就是这些了,因为是我的第一次面试,问的题目都很简单,面试官真的很善良了,但是我没有答好。。。
面试后就开始恶补知识,疯狂地刷面试题。
字节跳动1面:
1.自我介绍。
2.有一个数据库,请你删除其中id值相同的其它数据,相同id只保留工资数最少的(大概是这个意思)。
3.说一说mysql与mongodb的区别。
4.你有1000瓶饮料,其中有1瓶有毒,你有许多老鼠,老鼠喝完饮料之后24小时会死,请问你平均需要多少天找出这个有毒的饮料?需要多少老鼠?
5.你有1000法力值,有4个技能,技能伤害值与消耗魔法值成正比,请问你怎样用技能,才能做到伤害输出最大?
6.打怪有80%概率掉落a装备,20%概率掉落B装备,请问一个人平均要打几次怪,才可以凑齐ab装备?(这一题我不会,希望有大佬帮我解答一下)
深信服一面:(python)
1.自我介绍
2.说一下python中的数据结构。可变不可变?
3.知道GIL吗?为什么需要GIL呢?GIL为什么一次只允许解释执行1个线程呢?
4.知道多线程,多进程吗?介绍一下怎样创建多线程,多进程?请问与java的区别是?
5.tcp3次握手?第三次握手失败后会怎样?
6.数据结构都知道哪些?说一下平衡二叉树。怎么构建平衡二叉树呢?
7.看你的简历,你还会做web前端?
8.python装饰器知道吗?装饰器的原理是什么?本质是?闭包?
9.Mysql与MongoDB的区别是?
10.python中的socket?
11.hash算法知道吗?介绍一下你知道的hash算法。hash冲突知道吗?怎么解决hash冲突呢?
12.poll,select,epoll.
13linux指令知道哪些?(这个我说我学过一些,但是背不下来,看笔记的话能够使用)
14.操作系统了解吗?(我不是科班出身,所以这些不会,但是确实有计划要学习)
15.python的内存处理机制有哪些?分别介绍一下。
16.因为我学的是理论物理,面试官有些感兴趣,就1让我介绍自己的研究课题,还有平时主要学的是什么。
二面:
1.自我介绍一下
2.数据结构知道哪些?
3.说一说你知道的时间复杂度为O(nlogn)的算法。以快排为例,具体解释一下为什么它的时间复杂度是O(nlogn)呢?
5.类似快排的这些算法思想都属于什么算法?(分治算法)请你说一说这一类算法的时间复杂度有什么规律?快排是分成两组1,是否可以分为更多组呢?为什么?
6.图你了解吗?说一说图的实现/表示(数组加链表,二维数组),说一下二者的区别?每一种更适合用在哪一种情况下?
7.说一下找图中两个点的最短路径的方法?具体讲一下。
8.tcp协议和ip协议,讲一下具体内容。在3次握手4次挥手之外,tcp协议还怎么保证连接?(我答的是挥手每次失败会怎么样,握手每次失败会怎么样)
9.你知道io复用机制吗?
10.操作系统了解吗(不了解,但是一定会学习的)
11.我看你的简历种有webq前端的项目,请你介绍一下。
好了,你还有什么要问我的吗?
今天刚面完,二面只有20分钟左右,非常忐忑。希望深信服给我一个offer吧,自学真的太难了,一步步摸索要学什么,看什么资料。
看了许多人的面经,帮了我挺多的,也来写一下自己的面经,希望能帮到一些人。