迟来的顺丰SP三面
上午面网易的时候,顺丰的HR小姐姐打电话说面试官紧急会议,面试推迟2小时,到7点。
心想三面的面试官可能是大佬了。。。
7点12分,面试官上线。
10分钟,做个题吧。
一开始看错了题,看成了两个数字相加。用了HashMap来做,提交的时候,牛客编辑器老是报错,找BUG花了2分钟,最后实在不行,问:可以本地IDE吗,答可以,切换到本地IDE,提交没问题,发现审错题。
开始写dfs方法求解。没写完,面试官说时间到了。(面完发现是背包问题,套了模板,不到5分钟提交100%AC,亏我之前还写了0-1背包优化的博客,给自己一巴掌。。。。)
接下来开始问:
1.目前做的项目里最有成就感的是什么:回答bulabula。。。
2.刚才提到单点登录,你是怎么设计的?
3.数据库用的mysql是吧,底层存储结构?
4.为什么B+?
5.刚才你说saas模式下的数据库,增长方案你是怎么设计的?
6.HTTPS协议的过程?
7.内存泄漏和内存溢出的区别(内存泄漏没回答上来)?
8.JVM运行时的数据区域?
9.GC算法?
10.讲一下CMS。
11.给一个数字,怎么判定它是不是2的某次幂(问,这个数字是给的int还是String。面试官补充:int类型。回答二进制判定,首位为1,其余为0,手撸了代码)?
12.你简历上说了你的一个优化,详细说一下。
13.最后有什么想问我的?
目前就想起来大概这样,审错题真滴影响心态。。。😫
补充套路代码:
public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int sum=sc.nextInt(); int[] A=new int[n]; for(int i=0;i<n;i++){ A[i]=sc.nextInt(); } int s=0; long[] dp=new long[sum+1]; dp[0]=1; for(int i=0;i<n;i++){ for(int j=sum;j>=A[i];j--){//根据题意,可以提前break if(j-A[i]>=0){ //由dp[i][j]=dp[i-1][j]+dp[i][j-A[i]]优化而来。三个变量分别对应下面 //意义是,不用当前的和用当前的,加到一起。 dp[j]=dp[j]+dp[j-A[i]]; } } } System.out.println(dp[sum]); } }