草庐IT

【测试】23届百度测开实习三轮面试面经

Bug 挖掘机 2023-04-10 原文

大家好,我是洋子。最近工作真的超级忙,有几个同事离职,除了进行业务测试,还要进行工作交接,几乎没剩下什么空闲摸鱼时间,所以好久都没有更文章了

前段时间在公众号发布了一个百度测开实习招聘岗位,很高兴的和大家宣布,有一个粉丝同学顺利拿到了这个实习offer,未来将由洋子作为mentor来亲自带他实习

虽说以前也有稍微带过3个校招同学,帮助他们解答问题,但第一次以mentor身份带实习生还是第一次,想想还有点小激动

下面给大家分享3篇面经,第一篇为百度测开实习面经,后两篇为百度23届秋招提前批测开面经

百度测开实习面试面经

下面给大家分享一下,他在百度测开实习的三轮面试真题,这个同学学历为科班硕士,从面试官角度来看,因为是实习岗位,以下的面试题比正式秋招测开岗稍微简单些,大家可以对照参考

一面:

  1. 介绍项目
  2. 深拷贝和浅拷贝的区别
  3. 多线程和多进程的区别
  4. mysql B树和B+树的区别
  5. 进程之间的通信方式
  6. 线程之间共享哪些内容
  7. 一个进程/线程挂了对另一个进程/线程有影响么
  8. Linux指令 查看端口占用情况 修改文件指定行的内容
  9. 手撕:输入无序正整数数组 输出数组中没有出现过的最小正整数(时间复杂度O(n) 空间复杂度不限)
  10. mysql select语句查询慢 分析原因
  11. python数据类型
  12. 反问:请教面试官自身有什么需要提升的 答:mysql、Linux

二面:

  1. 介绍项目
  2. GET和POST的区别
  3. 什么是死锁 怎么解决死锁
  4. TCP和UDP的区别
  5. SQL:person表中user_name和email字段,输出表中所有重复的email
  6. 手撕:读取英文文章 text.txt(单词之间以空格分隔 文章区分大小) 1.统计单词总数2.每个单词出现次数
  7. 说出常见的HTTP状态码
  8. 对于测试开发的理解
  9. 想做客户端测试还是服务端测试
  10. 微信聊天测试
  11. 数据库的事务是什么

三面(经理面):

  1. 介绍项目
  2. 大学期间最有成就的事
  3. 认为自己是否为一个认真负责的人
  4. 实习与秋招时间冲突,是否会影响实习工作
  5. 是否已有秋招offer
  6. 对抖音或快手的视频和直播测试

从考察范围来看,这次面试题还是比较具有代表性,涵盖的考察的范围有简历上的项目经历、操作系统、计算机网络、数据库、算法题、Linux命令、测试用例设计、个人基本素质等

百度23届提前批测开面经(1)

原文链接:https://www.nowcoder.com/discuss/1029917?source_id=discuss_experience_nctrack&channel=-1

一面

自我介绍,(自我介绍太长了很明显感觉到面试官有点不耐烦了。。)
项目介绍;
深挖项目,介绍项目中Redis的使用,二次缓存的一致性保证,数据库持久化是怎么做的等等;
最常用的语言?(Java),会不会Python?(回答不会,面试官答没关系来了再学,很快),然后开始八股文;
面向对象七大设计原则;
String、StringBuffer、StringBuilder的区别;还知不知道其他不可变类,如何自己实现一个不可变类;
Java中不同类型的对象在JVM内存结构中存储的位置;
什么是泛型,泛型擦除一定会发生吗;
什么时候服务端会发生大量time_wait和close_wait状态;
手撕算法:实现一个算法,找到两个有序数组所有元素一起的中位数;
针对自己的接口,设计测试用例;
反问。
总结:算法题做的不太好,改半天。
一面结束半个小时通知通过,约下午二面。

二面

自我介绍;
项目介绍;
追问项目;
实习做的都是开发工作,为什么选择测试;
基本的测试流程;
黑盒白盒测试的测试用例设计方法都有哪些;
介绍一下单元测试和冒烟测试;
讲十个Linux的基本指令;
说一下你对SpringBoot和Spring的区别的理解;
SpringBoot自动装配机制的原理;
SpringBoot IOC容器的设计目的,原理,以及依赖注入的方式;
知道哪些设计模式,单例模式懒汉式口述一下怎么写,volatile的作用是什么;
手撕代码:KMP字符串匹配算法;
针对一个零售机进行测试用例设计;
反问。
总结:KMP算法记得不太清楚了,模模糊糊地在面试官的引导下写出来的。测试用例设计这块掌握的还是不太好。
二面结束第三天主管直接打电话约三面。

三面

自我介绍;
项目介绍;
超级深的深挖项目,深到每一个功能点的算法是怎么实现的。。。
为什么选择测试开发;
针对一个IP地址校验的接口进行测试用例设计;(答的不好,面试官后来说是想让我给出具体的关键数据的测试用例)
shell编程会吗,能不能大概介绍一下某个具体的语法;
为什么选择北京;
是考研还是保研的,为什么读研不选择计算机类专业;
讲一个逆袭的经历;
讲一个定下目标但最终放弃了的经历;
讲一个你最讨厌室友的哪一点(???);
反问;

百度23届提前批测开面经(2)

原文链接:https://www.nowcoder.com/discuss/1022439?source_id=discuss_experience_nctrack&channel=-1

事业群:MEG
base:北京

一面:2022.8.12
时长:50min

  1. 自我介绍
  2. 个人项目,我的项目是围绕着学校课程的项目来的,面试官就让我介绍这门课讲了些什么
  3. (学校里)性能测试做了什么工作,性能测试中需要关注什么部分,我从前端和后端分开来讲的
  4. 接口测试关注的部分
  5. 实习中做的测试工作内容有哪些,这些工作是针对APP吗
  6. TCP三次握手,为什么一定要三次握手?
  7. Linux相关命令:实习中用到的常用的Linux命令有哪些?查看进程的命令?
  8. 写sql语句:student表,主键student_id,还有一个表项是成绩grade,查找成绩前十的学生id
select student_id
from student
order by grade desc limit 10
  1. 手撕代码:Leetcode 20.有效的括号
class Solution {
    public boolean isValid(String s) {
        Map<Character, Character> map = new HashMap<>();
        map.put(')', '(');
        map.put(']', '[');
        map.put('}', '{');
        String str = "";
        for (int i = 0 ; i < s.length() ; i++) {
            char temp = s.charAt(i);
            if (temp == '(' || temp == '[' || temp == '{') {
                str = str.concat(String.valueOf(temp));
            } else {
                if (str.length() - 1 < 0 || map.get(temp) != str.charAt(str.length() - 1)) {
                    return false;
                }
                str = str.substring(0, str.length() - 1);
            }
        }
        if (str.length() == 0) {
            return true;
        } 
        return false;
    }
}
  1. 用例题:以百度首页输入框的功能为例,写测试用例(不需要说搜索之后的)

反问:

  1. 这个岗位强调开发和测试内容谁更多:都有,每个人会给一些topic开发任务,需要并行去做一些测试的工作;倾向平台还是工具开发:都有,有不同方向,Python和Java都有,CI相关,测试辅助,覆盖率相关的
  2. 面试完多久出结果:1-2个工作日
  3. 对今天面试的建议:挺好的(?!)
  4. 今年秋招比较难,招人会不会更严格:大环境,具体情况不了解,只是一个面试官TAT
  5. 部门做的有关内容:商业相关,投放广告

二面:

2022.8.16
时长:50min

  1. 一些聊天:有关实习情况、有无考研打算、base倾向
  2. 自我介绍
  3. 介绍实习的经历、团队负责的内容、目前自己所做的工作、目前遇到什么问题、这段工作中做得比较好的亮点及收获
  4. 实习或项目中去定位问题的思路,如何定位并解决的,举一个具体的例子
  5. 实习的具体内容:对于Monkey测试中的问题,这个会不会是误报,一定是正确的吗?能不能稳定复现呢? 如果日志中出现了问题,能确定这是一个Bug吗?在性能测试中会不会出现一些有关稳定性的,误报的问题?或者说一些其他的问题?
  6. Java里面哪一部分比较熟?我说集合,面试官就针对这个开始出题
  7. 手撕代码1:定义一个Map,找几个方法遍历它,并将元素打印出来
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put("a", "a1");
        map.put("b", "b1");
        map.put("c", "c1");
        // 1.set
        Set<String> set = map.keySet();
        for (String k: set) {
            System.out.print(k + " " + map.get(k));
        }
        // 2.Set<Map.Entry<>>
        Set<Map.Entry<String, String>> entrySet = map.entrySet();
        for (Map.Entry<String, String> entry: entrySet) {
            System.out.print(entry.getKey() + "," + entry.getValue());
        }
}
  1. 手撕代码2:合并两个List,去重后排序输出元素
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        list1.add(3);
        list1.add(2);
        list1.add(1);
        list2.add(1);
        list2.add(2);
        list2.add(4);
        // Collections
        Set<Integer> integerSet = new HashSet<>();
        integerSet.addAll(list1);
        integerSet.addAll(list2);
        List<Integer> newList = new ArrayList<Integer>(integerSet);
        Collections.sort(newList);
        for (Integer i: newList) {
            System.out.print(i + " ");
        }
    }
}
  1. Linux这块你哪个命令用得比较多?在文件里查找内容的命令?
  2. 说回实习,针对我目前测试的手机,流程也好,专项测试也好,有没有可以优化和改进的?
  3. 你认为你现在掌握的开发语言、脚本语言这些掌握得怎么样?你现在电脑上有你写的测试用例吗?(我:!?在公司电脑上

反问:

  1. 部门具体工作
  2. 面试完多久出结果:技术+经理面一共三轮,后面是HR沟通,如果能过二面,一周内进行联系,现在是提前批,会快一些
  3. 如果提前批没过的话,是会自动转入正式批吗:应该不会吧,不太确认,提前批和正式批还有点不一样,可以关注下招聘公众号
  4. 对今天面试的建议或评价:(面试官说这种问题大家都爱问,但是回答这个是有要求的hhh)官方一点回答:对于测试来说的话,三个点比较重要:软素质、沟通协调、能力;因为测试涉及到的面比较多,知识面要广,比rd了解的点会更多一些,还需要有一门拿得出手的语言,现在实习的话可以多扩展一些

三面:

2022.8.18
时长:40min

  1. 自我介绍
  2. 围绕项目,写了多少条测试用例,怎么写的,代码覆盖率怎么判断和评估,我围绕的是定义展开叙述的,但面试官更想让我说的是有关测试报告的内容
  3. 黑盒测试和白盒测试,定义和方法,黑盒和白盒所用的测试工具
  4. 了解的自动化测试工具,我说QTP和Selenium,但对Selenium比较熟悉
  5. Selenium八大元素定位方式及原理,怎么使用,平时用什么方式,为什么用xpath,元素定位对比
  6. 考研还是工作?为什么不考研?
  7. base地选择?有跟父母沟通过这方面的内容吗?
  8. 看你是团支书,之后大四会涉及到很多的内容吗,忙不忙?
  9. 别人对你的评价,优点
  10. 之前遇到过你认为最有挑战的事情,怎么克服困难的
  11. 未来3-5年的规划,有npy吗,两个人打算什么时候谈婚论嫁?

反问:

  1. 面试完什么时候出结果:一周以内,收到测评后再是HR面
  2. 面试评价:多去了解一些基于专业课程知识的内容,了解得更深更广一些

有关【测试】23届百度测开实习三轮面试面经的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  4. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  5. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  6. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  7. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  8. ruby-on-rails - 如何使辅助方法在 Rails 集成测试中可用? - 2

    我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel

  9. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  10. ruby-on-rails - 如何调试 cucumber 测试? - 2

    我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element

随机推荐