首页 > 面试复盘 | 深信服测开一二面
头像
看我签名哇~
发布于 2021-09-18 20:06
+ 关注

面试复盘 | 深信服测开一二面

9.17 深信服一面

视频面试 20min,面试官人很好

  1. 实习收获
  2. 棘手的事情以及怎么解决
  3. 为什么选择测开
  4. 实习任务给的期限是怎么看的
  5. 笔试题目:

题目:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z

讲了一下做题思路而已。
参考代码:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs == null || strs.length == 0){
            return "";
        }
        if(strs.length == 1){
            return strs[0];
        }
        int len = strs[0].length();
        for(String str:strs){
            len = Math.min(len,str.length());  //得到字符数组里面最短字符的长度
        }
        if(len == 0){  //其中的一个字符为空的情况
            return " ";
        }
        StringBuffer res = new StringBuffer(len);
        //每个字符只需要遍历到最小长度即可,因为大于最小长度字符的那一部分不可能有公共
        for(int j = 0; j < len;j++){
            for(int t= 0;t < strs.length;t++){
                if(strs[t].charAt(j) != strs[0].charAt(j)){ //每个与第一个字符开始比较,也就是与下标为0的字符的元素比较。
                   return res.toString();
                }
            }
            res.append(strs[0].charAt(j)); //相同就加进结果集
        }
        return res.toString();
    }
}

9.18 深信服二面

主管面吧 ,好严格, 问了1.5h

挖项目 挖到你答不出来为止,都怀疑人生想放弃面试了。

最后再来了个题目:
装入背包中的行李的最大价值问题

求装入背包中的所有物品的最大价值
总体思路:物品从1开始编号,从1开始一件一件物品考虑是否加入背包。
使用dp[x][y] 表示前 x 件物品,在不超过重量 y 的时候的最大价值。则有前x件物品重量不超过y的最大价值要么等于前x-1件物品重量不超过y的最大价值dp[x-1][y],要么等于前x-1件物品重量不超过y-weights[x]的最大价值加第x件物品的价值dp[x-1][y - weights[x]] + values[x]。
————————————————

用dp做法

总结

感觉二面面试官好严格,也会抓着你某个点一直问深,好吧,大概率不过了。

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖
历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐