赞
踩
在群里潜水时看大佬们的发言,被一位大佬的面试经历吸引了。这位大佬面试阿里本地生活的暑期开发实习,前面一二面都过了,却凉在了三面。在为他感到惋惜的同时,也想将他的经历整理下来,希望能让朋友们多加注意。
事情是这样的,一面的时候,当时还没笔试,突然接到一面电话,就和面试官说还没笔试呢,怎么就一面了,都还没准备好,面试官来了一句,不让你准备,现在开始。二面是在电影院视频面试。二面结束很长一段时间一直没有消息,一段时间之后开始三面,项目部分答的不好,系统里已结束。
现在来看一下这位大佬的面试题
1、为什么数据库中用B+树作为索引而不使用hash表
2、如何判断一个链表中是否有环形结构
3、数组和链表的性能分析
4、青蛙跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
第四个问题一开始答了一维的动态规划,没想到面试官是想让他答斐波那契数列数列通项。
一面的确就那么短,第一个问题答的不是很好。
贴上几个第四个问题的代码(仅供参考)
public class Fibonacci {
public int fibonacci(int n) {
int[] dp = {
1, 1, 0 };
if (n < 2) {
return 1;
}
for (int i = 2; i <= n; i++) {
//递推公式f(n) = f(n - 1) + f(n -2)
dp[2] = dp[0] + dp[1]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。