字节跳动(抖音)软件测试月薪23K岗技术总监三面面试题最新出炉

Posted 自动化测试君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节跳动(抖音)软件测试月薪23K岗技术总监三面面试题最新出炉相关的知识,希望对你有一定的参考价值。

1、设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?

设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。

(测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、性能、安全……),这部分可以参照TP做答。此外,还需要考虑用例的重要性和优先级

2、在windows下保存一个文本文件时会弹出保存对话框,如果为文件名建立测试用例,等价类应该怎样划分?

  • 单字节,如A;

  • 双字节, AA、我我;

  • 特殊字符 /‘。‘;、=-等;

  • 保留字,如com;

  • 文件格式为8.3格式的;

  • 文件名格式为非8.3格式的;

  • /,\\,*等九个特殊字符

3、假设有一个文本框要求输入10个字符的邮政编码,对于该文本框应该怎样划分等价类?

  • 特殊字符,如10个*或¥;

  • 英文字母,如ABCDefghik;

  • 小于十个字符,如123;

  • 大于十个字符,如11111111111;

  • 数字和其他混合,如123AAAAAAA;

  • 空字符;保留字符

4、软件测试项目从什么时候开始?为什么? 

软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势,缺陷发现的越晚,修复它所花费的成本就越大。

5、什么是回归测试?

回归测试 (regression   testing)有两类:用例回归和错误回归

  • 用例回归,是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。

  • 错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试的方法。

6、单元测试、集成测试、系统测试的侧重点是什么? 

  • 单元测试针对的是软件设计的最小单元--程序模块(面向过程中是函数、过程;面向对象中是类),进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错,一般有两个步骤:人工静态检查\\动态执行跟踪

  • 集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是各个单元模块之间的接口,以及各个模块集成后所实现的功能.

  • 系统测试针对的是集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件\\外设\\某些支持软件\\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计算机系统进行一系列的集成测试和确认测试。

7、一个测试工程师应具备哪些素质? 

  • 责任心

  • 沟通能力

  • 团队合作精神

  • 耐心、细心、信心

  • 时时保持怀疑态度,并且有缺陷预防的意识

  • 具备一定的编程经验

8、你所了解的的软件测试类型都有哪些,简单介绍一下

按测试策略分类:

  • 静态与动态测试

  • 黑盒与白盒测试 

  • 手工和自动测试 

  • 冒烟测试 

  • 回归测试

按测试阶段分类:

  • 单元测试

  • 集成测试

  • 系统测试

其他常见测试方法:

功能测试 、性能测试 、压力测试 、负载测试 、易用性测试 、安装测试 、界面测试、配置测试、文档测试、兼容性测试 、安全性测试、恢复测试

9、为什么要在一个团队中开展软件测试工作?

因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。

在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

10、您认为做好测试用例设计工作的关键是什么?

  • 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

  • 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

11、你的测试职业发展目标是什么?

测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,不断的更新自己改正自己,做好测试任务。

12、测试结束的标准是什么?

从微观上来说,在测试计划中定义,比如系统在一定性能下平稳运行72小时,目前Bug Tracking System中,本版本中没有一般严重的BUG,普通BUG的数量在3以下,BUG修复率90%以上等等参数,然后由开发经理,测试经理,项目经理共同签字认同版本Release。

如果说宏观的,则是当这个软件彻底的消失以后,测试就结束了。

13、一套完整的测试应该由哪些阶段组成? 

可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试

14、您是否了解以往所工作的企业的软件开发过程?

如果了解,请叙述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

  • 开发过程

    需求调研(需求人员)、需求分析(需求人员)、概要设计(设计人员)、详细设计(设计人员)、编码(开发人员)

  • 测试过程

    需求评审、系统测试设计、概要设计评审、集成测试设计、详细设计评审、单元测试设计、测试执行

  • 测试工作的整个过程都做过,擅长做测试设计。

过程决定质量,软件的过程改进正是为了提高软件的质量,将过往的种种经验教训积累起来。

以上就是今天的分享,如果觉得有用,欢迎分享转发给更多盆友💕。

如果这篇文章对你有帮助,请给小编点个赞!这样我才有动力继续更新下去!

今天的小知识学会了么

欢迎在留言区跟我们互动噢~

高薪简历模板(面试宝典免费领)

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

阎王易见,小鬼难缠。我一直相信这个世界上好人居多,但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。

在这里,我只想告诫大家,offer一定要拿到自己的手里才是真的,口头offer都是不牢靠的,希望大家可以从我这里吸取教训。

简介

去年字节跳动连放大招,一直都有消息说:字节跳动又招人了!到处都能看到字节跳动HR发的内推码和招人信息。

在大环境的刷屏下,我看了一下招聘信息中的测试人员需求,还算比较多,又受大厂光环影响,我就投了简历。

但是,我没想到会发生这样的事情。如题,我感觉自己被HR坑了。

事情的始末

是这样的,我去面试字节跳动,面试过程还是很紧凑的,一共三面。

前两面的过程很顺利,我和面试官的交谈还比较愉快,面试中的问题自我感觉答的也还不错。尤其是第一面和第二面的人都很nice,面试过程中也比较尊重面试者,会倾听,会有互动。直到此处,我的面试体验都还不错。

面试题难度我觉得中等,基本上都能答出来,偶尔有一两个不会的,面试官也会进行一些提点,我后续也能够跟上。问题就出在第三面。

下面简单的分析一下我的那个面经。

说说我的面试

一面:主要问基础知识和考察代码能力,大约1个小时

  • 1.自我介绍

  • 2.你觉得最有成就感的一件事

  • 3.实习时间

  • 4.你学过哪些计算机课程

  • 5.进程与线程的区别

  • 6.进程的调度 算法有哪些,进程的状态有哪些

  • 7.怎么判断进程的切换

  • 8.程序中内存的分配,堆区和栈区,比如成员变量放在哪里?

  • 9.手撕代码:最小覆盖子串(没写出来)大概讲了一下用滑动窗口的方法

  • 10.手撕代码:把字符串转化为整数(没有处理好溢出问题)

二面:同样也很注重基础知识的掌握,还有解题思路也是很重要的,就算不会做也可以跟面试官讲讲自己的大概想法,整个过程约1个小时15分钟

  • 1.自我介绍

  • 2.谈了一下项目,比如有什么功能,用了什么框架,因为这个项目比较简单,所以面试官就没有继续问了

  • 3.TreeMap和HashMap的区别以及底层实现,分别用在什么场景

  • 4.HashMap的底层为什么要这样实现,有什么优缺点?

  • 5.数组和链表的区别

  • 6.有哪些排序算法,复杂度分别是?

  • 7.快速排序算法的思想

  • 8.Java底层的排序算法用的是什么算法?

  • 9.多线程怎么保证同步?

  • 10.synchronize和retranklock的区别?

  • 11.什么是公平锁和非公平锁,非公平锁是怎么决定的?

  • 12.了解哪些设计模式?

  • 13.代码题:写一个单例模式,懒汉式和饿汉式,怎么解决饿汉式的线程安全问题?如果用lock()怎么加锁?

  • 14.代码题:写一个大数相加的 算法,面试官降低了一下难度,说只考虑正整数吧。写完后问假如要测试你写的这个代码对不对,你怎么设计测试用例?

神奇的的三面面试(面试体验极差)

三面是一个女的,按照字节跳动惯例应该是位HR,但全程没有做自我介绍。上来就把前两位面试官问过的问题又重新问了一次,态度有些冷淡,多次在面试过程中打断我的回答,还不停diss面试者,搞的我有莫名些紧张。

具体面试题目和是上面的差不多,记不太清楚了,差不多还有下面这些:

  • 1、final关键字的作用

  • 2、怎么优化java代码,比如字符串拼接

  • 3、了解哪些数据结构,HashMap怎么解决冲突

  • 4、http和https的区别,https的运作过程,SSL协议在中间起了什么作用

  • 5、了解CDN吗

  • 6、为什么要进行分页和分段,分页和分段有什么好处啊?分段在代码中怎么体现,能举个例子吗

具体的面试题答案解析部分大家可以关注我公众号:程序员二黑,免费获取!

我答完这些她好像也没在意,基本一直在玩儿手机。

最后直接说一句“我没问题了,今天就这样吧”,起身就准备走了。

我反问的时候问了一下自己的面试表现,这位HR说我的表现没有问题,offer基本上是可以拿到的。

面试结果通知

三面一完,感觉心里不是很踏实,等了两天没任何消息,问给我发面试邮件的hr专员,告诉我系统里面试通过,让我再等等。我还挺高兴,于是就拒绝了一个另外两个挺不错的offer,期间也没有继续面试其他的公司,结果又等了两天依旧杳无音信。

为了能过个踏实,五一我又问了一次,这回告诉我三面面试官没给我写面评,hr专员也不知道怎么回事,去帮我核实。

挂了电话就知道百分之百凉了。

果然,六点来一通电话说不匹配,但对我的能力表示极高认可之类的片儿汤话。最后还说会帮我看看其他岗位有没有合适的,有的话会再联系我。基本上说到这儿就彻底结束了。

面试感想

整体感觉,如果三面是HR,她的表现是非常不尊重面试者的。

她给人感觉就是一直想套面试者的东西,如果得不到想要的就会说“我觉得你准备还不够充分”,最后的面试结果肯定也是折在三面上。

我身边一起面过字节跳动的都和我一样,前两面聊的挺好,三面折在HR上。

回来分析,感觉公司并不是真需要这么多岗位,更像是为了完成人力的kpi顺便套面试者方案。其实,我觉得面试最好就好聚好散,互不耽误,但是他们反馈又慢,先是给人“你OK了”的幻觉,然后就吊着你,这让我拒绝了另外两家还不错的offer,错失了其他的机会。

后面通过我们面试群的交流得知,很多在职的面试者未通过面试但是字节跳动却打电话调查了在职单位。我就觉得这事儿做的不地道,你不要人家你也不能毁人家吧!你让人家在在职单位该怎么呆啊?

这HR,有点坑啊。

下面在附带一张软件测试学习路线

从测试概念到最后的测试开发,希望大家能照着这个体系,在3-4年内完成这样一个体系的构建,可以说,这个过程会让你痛不欲生,但只要你熬过去了,以后的生活就会轻松很多,正所谓完事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好:不积跬步无以至千里,等到完成之后在回顾这段路程的时候,你肯定会感慨良多,掌握了以上技术,在任何一线互联网大厂测试岗位都能独挡一面

下面在分享一些软件测试的资料,希望能帮到大家

关注我公众号:程序员二黑就可以免费获取了!

以上是关于字节跳动(抖音)软件测试月薪23K岗技术总监三面面试题最新出炉的主要内容,如果未能解决你的问题,请参考以下文章

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

字节跳动软件测试岗,前两面过了,第三面HR天坑,结局透心凉...

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

字节跳动软件测试岗,前两面过了,第三面被面试官吊打,结局我哭了

三面美团Java岗,字节跳动Java岗经典面试真题,成功跳槽阿里!

「我有一剑可开天门」!字节跳动三面直接斩下offer,附上我的字节三面面经