第一次面试,死的好惨
/*int Finonacci_my(int n)//这就是我第一次面试写的程序,再一看我就知道哪错了,当时不知道怎么想的
{
int a[n+1];//1 数组的的大小是常量,犯了这么简单的错误
a[0] = 0;// 2 根本没考虑输入的范围,也是基本常识呀
a[1] = 1;// 3 还有更高校的方法,为什么不用呢?
for (int i = 2; i<= n;i++)
{
a[i] =a[i-1] + a[i-2];
}
return a[n];
}*/
int Finonacci_good(int n)
{
if (n<=0)
{
return 0;
}
else if(n==1) return 1;
else
{
int first = 0;
int second =1;
int current;
for (int i=2;i<=n;i++)
{
current = second + first;
first = second;
second = current;
}
return current;
}
}
1 先简单,后复杂,刚开始最简单的算法写错了,就没有后来了;
2 让我选一个项目说说,我说的有点乱,原因是从来没有仔细想过,所以说,我的表达能力有问题,这个好好得屡屡;
3 问我数据库行级所的实现机制,不会;
4 多线程编程,问了线程同步方式,什么情况出现死锁,怎么解决死锁,尼玛,我竟然说用信号量的方式 o(╯□╰)o;
5 hashmap的实现机制,我说红黑树;
6 MVC的内部机制,虽说我做过这方面的项目,我却直接说我没研究过,其实可以随便说点的;
总之,死在基础上了,操作系统基础,数据结构基础,数据库基础,网络的没问,linux没问,C++也没问,明显面我的那哥们做的是Java方向的
还有什么?没啥了,哥的第一次死的好惨,不过我相信还有更惨的,来吧!