没想到吧没想到吧没想到吧!
我居然也配进二面辣哈哈哈哈哈哈
虽说二面也和一面一样拉胯就对了55555
真是好菜一女的……
好啦好啦!开始复盘!
面试时间:2021 9-10 19:00-20:30
1,自我介绍
2,介绍一下 你的项目
3,你知道数据库中的死锁吗?
知道(就这个问题回答的还比较好)
1)什么是死锁?
所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
2)产生死锁的原因?
可归结为如下两点:
a. 竞争资源
系统中的资源可以分为两类:
- 可剥夺资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺,CPU和主存均属于可剥夺性资源;
- 另一类资源是不可剥夺资源,当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机等。
产生死锁中的竞争资源之一指的是竞争不可剥夺资源(例如:系统中只有一台打印机,可供进程P1使用,假定P1已占用了打印机,若P2继续要求打印机打印将阻塞)
产生死锁中的竞争资源另外一种资源指的是竞争临时资源(临时资源包括硬件中断、信号、消息、缓冲区内的消息等),通常消息通信顺序进行不当,则会产生死锁
b. 进程间推进顺序非法
若P1保持了资源R1,P2保持了资源R2,系统处于不安全状态,因为这两个进程再向前推进,便可能发生死锁
4,你知道有哪些排序的算法?
快速排序,简单选择排序,冒泡排序,希尔排序,插入排序,选择排序
说说他们的算法复杂度……(我把希尔排序说成了哈希排序,我死了)
5,编程:
leedcode平台进行测试
第二十题:相同括号的输出
bool isValid(char * s){
char q[4000];
char temp;
int count=-1;
int m=strlen(s);
for(int i=0;i<m;i++){
if(s[i]=='(' || s[i]=='[' || s[i]=='{')
{
q[++count]=s[i];
}
else{
if(count<0) return 0;
temp=q[count];
if(s[i]==')')
{
if(temp!='(') return 0;
else count--;
}
if(s[i]=='}')
{
if(temp!='{') return 0;
else count--;
}
if(s[i]==']')
{
if(temp!='[') return 0;
else count--;
}
}
}
if(count>=0) return 0;
return 1;
}
//执行结果:通过 显示详情
//添加备注
//执行用时:0 ms, 在所有 C 提交中击败了100.00%的用户
//内存消耗:5.6 MB, 在所有 C 提交中击败了46.97%的用户
6,你有什么问题问我吗?
1)入职后是否有培训或者其他进步的机会
答:有人带,每周有技术交流会
2)本公司用的是什么系统,什么语言?
答:用的是JAVASpring的一个变种(升级版)
比较详细的介绍了公司的前端,后端的情况,并且聊了目前出现的问题
3)你认为我应该从什么方向努力?
答:我毕业的时候……(面试官讲起了自己的故事……超级奈斯的一个人)
应届生啥都不会是正常的,有知识的空白区域也是正常的……多刷题,应届生都是白纸,你们之间的区别就是题刷的怎么样……
超级耐斯的面试官