【社招】百度一面

前文:

①感觉她是不是在看着题库出题啊,每次我说完了等她的反应都很慢;

②她是不是对我不感兴趣啊,业务和项目都没有深挖,我主要负责的也没有深挖

1.自我介绍

2.项目介绍(但不是我主要负责的,而是跟mt的)

3.Java熟悉一些对吧?Java创建线程有哪些方式?

4.Java的线程和进程的区别?

5.HTTPS和HTTP的区别

(心想:这是在校招?怎么全是计算机基础)

6.equals和==的区别,什么时候用equals,可以举个例子吗

==是地址,equals是值,往往需要重写hashCode方法

7.场景题:百度app的搜索功能设计用例

因为我没用过百度app,换成:安卓机下,抽奖功能如何设计测试用例

8.做个题吧:

nums = {1, 2, 2, 3, 4, 4, 5}; k=9

求能够总和构成k的子数组有多少个?(不用去重,子数组不用连续)

①DFS

public class Main {
    public static int res = 0, len = 0, k=0;
    public static int[] nums;

    public static void dfs(int status, int sum) {
        System.out.println("status: " + status + ", sum: " + sum);
        if(sum==k){
            res+=1;
            return;
        }
        if(status>=len || sum>k) return;
        dfs(status+1,sum);//不选
        dfs(status+1,sum+nums[status]);//选
    }

    public static void main(String[] args) {
        nums = new int[]{1, 4, 5};
        len = nums.length;
        k = 9;
        dfs(0,0);
        System.out.println(res);
    }
}

②DP

public class Main {

    public static void main(String[] args) {
        int[] nums = {1, 4, 5};//假设都是正数的话
        int len = nums.length;
        int k = 9;
        int[] dp = new int[k + 1];
        dp[0] = 1;

        for(int i=0;i<len;i++) {
            for(int j=k;j>=0;j--) {
                if(dp[j]>0 && j + nums[i] <= k) {
                    dp[j+nums[i]]+=1;
                }
            }
        }
        System.out.println(dp[k]);
    }
}

好气啊!!!!! 因为java写dfs、bfs写的少了,逻辑什么的都是对的,但是用状态压缩的时候if((a&b)==0)的内层括号忘记加了,还有各种一些调试上的问题最后跑都没跑通,气的想锤死自己

8.安卓发生崩溃(Crash)的时候怎么输出日志

adb logcat -d > logcat.txt

追问:如果要看包含error的有几行,怎么看?

grep -c "error" logcat.txt

#牛客创作赏金赛#
全部评论
接口自动化的流程: ①需求分析和评审,评估哪些接口算重要的,需要被覆盖的 ②写测试计划:把控接口自动化完成的节奏,每周完成多少 ③写测试脚本,从开发那里拿源码,便于快速造数 ④执行测试用例,测试环境和线上环境都运行 ⑤输出测试报告,因为是自动化,这里都是全自动的 ⑥缺陷的管理和回归,报告有bug需要录入缺陷管理平台,开发维修好后需要及时回归
点赞 回复 分享
发布于 昨天 11:29 上海
一些稍微高级一些又常见的linux命令: 1.查看crash:cat xx.log | grep crash 2.top查看cpu利用率 3.netstat -tuln | grep ":3306",可以查看端口号3306是否被占用(也可以换成别的) 4.查找并杀掉某个进程: ①查找:ps | grep mysql,可以找到mysql进程的pid,第一个就是 ②杀进程:kill -9
点赞 回复 分享
发布于 昨天 11:26 上海
用java写递归真的太少了,缺乏经验,逻辑是错的,语法也不对,后面要使劲补一补
点赞 回复 分享
发布于 昨天 00:04 上海

相关推荐

你可以在一下几个💊中选择2项:1.红色💊:每答对一道八股,下一道八股答对的概率增加10%,若答错,则减少20%,若连续答对4道八股,则后续2道八股视为全对2.蓝色💊:面试官出编程题有50%的概率出简单题,有50%的概率出hard题,若在10分钟内解出hard题,后续只会出现easy题,若第一道easy题在2分钟内没解出,后续只会有hard题3.紫色💊:50%概率直接获得字节跳动offer,但随机减少1-10年寿命4.绿色💊:面试官只会选择八股,项目,编程的其中一项进行考察,但难度翻倍5.金色💊:面试官八股,项目,编程全部考察,难度减半,但面试时长增加2h6.橘色💊:只能使用一次,可以让面试官在原地不要走动5min,自己可以干任何事情,且不被面试官发现7.自信💊:你无需使用任何药丸,凭借自身实力进行面试8.倒带💊:你可以退回前两个没答好的问题的时间节点并重新回答9.马后炮💊:本次面试没有回答好的问题包括一定程度的延伸的问题不必复盘自动入脑,以后的面试永远不会答错10.骰子💊:你总共有10点点数,骰子摇到几点消耗几个点数,比如摇到5点,有50%的概率直接通过当前问题,摇到1点,10%概率通过当前问题,只要通过,返还对应消耗的点数11.奋勇💊:每答错一题,永久增加下一题答对的概率10%12.彩虹💊:随机选择上述3个药丸,选这个就不能选其他💊了且只能选一个&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务