【面经】字节测开实习岗面试题分享

1、自我介绍

2、为什么投了字节?

公司声誉:字节跳动是一家知名的科技公司,在互联网行业享有很高的声誉。

发展前景:字节跳动的业务涵盖了多个领域,包括短视频、资讯、教育等。这意味着您将有机会接触到不同的产品和技术,拓宽自己的技能和视野。

团队氛围:字节跳动的团队通常以年轻、活力和创新著称。在这样的环境中工作,将有机会与志同道合的同事共事,共同追求卓越。

学习机会:作为一家快速发展的公司,字节跳动为员工提供了丰富的学习和发展机会。

3、说一下对于测开岗位的理解

测试开发工程师是一种融合了开发角色和质量意识的岗位,要求测试人员兼具开发人员的技能和测试人员的思维。总的来说,测试开发工程师的定位就是保障产品的质量和提高测试效率。

测试开发工程师需要具备以下技能:

熟悉编程语言,如Java、Python、C++等;

熟悉自动化测试框架,如Selenium、Appium等;

熟悉数据库操作,如MySQL、Oracle等;

熟悉网络协议,如HTTP、TCP/IP等;

熟悉Linux操作系统。

4、介绍一下实习的项目

5、对于该项目的质量建设,你做了哪些工作?

明确质量标准:在项目开始阶段,与团队成员讨论并确定项目的质量标准和期望。这有助于确保所有人都对项目的质量要求有共同的理解。

制定质量管理计划:根据项目需求和质量标准,制定详细的质量管理计划。这应包括质量控制、质量保证和质量改进的策略和方法。

实施质量控制:通过定期检查和测试,确保项目产出符合预期的质量标准。这可能包括代码审查、单元测试、集成测试和系统测试等。

建立质量保证机制:为团队提供培训和支持,以确保他们具备足够的技能和知识来保证项目的高质量。这可能包括技术培训、最佳实践分享和持续的沟通。

监控项目进度和结果:定期评估项目的进度和结果,以确保项目按照计划进行并达到预期的质量目标。如果发现问题或偏离计划,及时采取措施进行调整。

持续改进:通过收集反馈和经验教训,不断优化项目管理过程和工具,以提高项目的整体质量和效率。

总之,在项目质量建设过程中,关键是确保所有团队成员都了解并遵循既定的质量标准和策略。通过有效的沟通、培训和支持,可以确保项目的成功交付。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

6、MySQL和Redis的使用场景?区别?

MySQL和Redis都是数据库,但是它们的本质区别在于MySQL是关系型数据库,而Redis是NoSQL数据库。MySQL适用于大规模数据存储和复杂查询场景,例如电商、金融、物流等领域。而Redis适用于缓存、消息队列、计数器等场景。

MySQL和Redis的区别主要有以下几点:

数据类型:MySQL支持多种数据类型,而Redis只支持字符串、列表、集合和有序集合等基本数据类型。

本质区别:MySQL是关系型数据库,而Redis是NoSQL数据库。

事务处理:MySQL支持事务处理,而Redis不支持事务处理。

7、MySQL慢查询排查(面试官好喜欢问这个,被问到好多次了)

MySQL慢查询排查的方法有很多,以下是一些常用的方法:

开启慢查询日志:通过开启慢查询日志,可以记录下执行时间超过阈值的SQL语句,从而找到需要优化的SQL语句。

分析查询语句和执行计划:通过分析查询语句和执行计划,可以找到SQL语句的瓶颈,从而进行优化。

优化查询语句和表结构:通过优化查询语句和表结构,可以减少SQL语句的执行时间,从而提高MySQL的性能。

使用缓存:通过使用缓存,可以将经常访问的数据存储在内存中,从而减少磁盘I/O操作,提高MySQL的性能。

调整MySQL参数:通过调整MySQL参数,可以根据具体情况优化MySQL的性能。

8、索引类型?你们项目中用的什么索引?

在数据库中,索引是一种数据结构,用于提高查询效率。常见的索引类型包括:B树索引、哈希索引、位图索引等。

不同的数据库管理系统(DBMS)支持的索引类型也不同。例如,MySQL支持B树索引、哈希索引和全文索引;Oracle数据库支持B树索引、位图索引和函数索引等。我们项目用的B+树索引居多

9、索引底层原理?介绍下B+树吧

10、Redis数据类型及常见使用场景

11、接口自动化做到什么粒度?接口自动化执行通过率?

一般来说,接口自动化可以做到以下粒度:

单元测试:针对单个接口进行测试,验证其返回结果是否符合预期。

集成测试:针对多个接口进行测试,验证它们之间的交互是否符合预期。

系统测试:针对整个系统进行测试,验证所有接口是否能协同工作,是否能够满足业务需求。

通过率99%

12、http&https&Rps区别?

HTTP、HTTPS和RPC都是计算机网络中的协议。其中,HTTP是一种明文传输协议,而HTTPS则是一种加密传输协议。RPC是一种远程过程调用协议,它可以在客户端和服务器之间进行通信,使得开发者可以像调用本地函数一样调用远程函数。

HTTP和HTTPS的区别在于安全性。HTTPS使用SSL/TLS协议对数据进行加密,可以保护数据的安全性和完整性。而HTTP则不具备这种加密机制,数据传输过程中容易被窃听和篡改。

13、你理解接口自动化的出发点?为什么要耗费人力做自动化

接口自动化的出发点是为了节省人力成本,把测试从枯燥的重复劳动的人工测试中解放出来。这样可以减轻测试人员的工作量,提高测试效率,同时也可以保证测试质量。

此外,接口自动化还可以提高测试覆盖率,减少人为错误,提高软件的稳定性和可靠性。

14、http和Rpc使用上的区别?

RPC和HTTP使用上的区别主要有以下几点:

传输协议:RPC可以使用自定义的TCP协议,也可以使用HTTP协议,而HTTP只能使用HTTP协议。

传输效率:RPC使用自定义的TCP协议,可以让请求报文体积更小,或者使用HTTP2协议,也可以很好的减少报文的体积,提高传输效率。

数据传输方式:RPC是一种远程过程调用协议,它可以直接将数据打包成二进制流进行传输,而HTTP则是一种基于文本的协议,需要将数据转换成字符串进行传输。

应用场景:RPC一般用于大型企业之间的通信,而HTTP则适用于中小型企业之间的通信

15、Redis 的key大小设置多少合理?

Redis的key大小设置应该根据实际需求来定。一般来说,建议使用有意义及统一格式的key,而不是过长的key,因为过长的key会影响内存占用及数据查性能。

16、URL请求到响应的流程

17、栈和队列的区别?举一个只能使用队列不能使用栈的业务场景

栈和队列是两种常见的数据结构,它们的区别如下:

栈是一种后进先出(Last-In-First-Out,LIFO)的数据结构,即最后放入栈中的元素会最先被弹出;而队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,即最先放入队列中的元素会最先被取出。

栈只能从表尾插入和删除元素,而队列只能在表头插入和在表尾删除元素。

一个只能使用队列不能使用栈的业务场景是:假设你有一个火车站,你需要让乘客上车。你可以使用队列来实现这个场景。首先,你需要在车站入口处放置一个队列。然后,每当有新的乘客到来时,他们必须站在队列的末尾。当火车到达时,车站工作人员会从队列的头部移除第一个乘客并将其带上火车。这样,我们就可以确保每个乘客都能够按照他们到达的顺序上车。

18、线性表和链表区别

线性表和链表是两种常见的数据结构。线性表是一种具有相同数据类型的n (n>0)个数据元素的有限序列,它的顺序存储结构就是顺序表,链式存储结构就是链表。链表又包括单向链表、双向链表、循环链表、静态链表等。顺序表可以实现随机访问,随机存取,占用连续的存储空间,空间利用率较高,但是顺序表的插删,需要移动多个元素。而链表则可以实现任意插入和删除操作,不需要移动元素,但是只能从头节点开始遍历,访问某个节点时需要从头节点开始遍历整个链表 。

19、JAVA线程安全

Java中的线程安全是指在多线程环境下,保证程序的正确性。Java语言中各种操作共享的数据有5种类型:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。其中,不可变的对象一定是线程安全的,不需要再采取任何的线程安全保障措施。只要能正确构建一个不可变对象,该对象永远不会在多个线程之间出现不一致的状态。

如果您想要确保Java程序是线程安全的,可以考虑以下几个方面:使用synchronized关键字、ReentrantLock类、Semaphore类等同步机制;使用volatile关键字;使用原子类;使用ThreadLocal类等 。

20、锁的类型,你用过哪些锁?

锁的类型有很多种,其中包括公平锁和非公平锁。Java ReetrantLock中的公平锁和非公平锁可以通过构造函数指定。此外,还有乐观锁和悲观锁等类型。

21、乐观锁和悲观锁

乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据 。

22、git常见命令?合分支、回滚版本

以下是一些常用的git命令:

git init:初始化一个新的git仓库。

git clone:克隆一个已有的git仓库。

git add:将文件添加到暂存区。

git commit:提交暂存区中的文件到本地仓库。

git status:查看当前仓库的状态。

git diff:查看工作区与暂存区之间的差异。

git log:查看提交历史记录。

git branch:创建、列出、删除分支。

git checkout:切换分支或恢复工作区文件。

git merge:合并分支。

git rebase:变基操作,将一个分支的修改应用到另一个分支上。

git reset:重置当前分支到指定状态。

23、淘宝买东西页面白屏?说一下你的排查思路?

首先可以抓包看前端or后端问题、1、接口返回成功前端没展示2、接口请求失败or受阻【这里比较暴力的办法是可以开启远程debug端口,打断点执行即可】

24、出现过的线上问题?排查思路?

线上问题的排查思路因问题而异,但是一般可以从以下几个方面入手:- 确认问题的范围和影响;- 收集相关信息,如日志、监控数据等;- 分析问题的原因,如程序错误、硬件故障等;- 制定解决方案并验证。

25、扫码支付case

以下是扫码支付测试用例的设计:

测试正常扫码支付流程,包括输入金额、选择支付方式、确认支付等步骤。

测试扫码支付过程中可能出现的异常情况,如网络连接中断、支付失败等。

测试扫码支付的安全性,包括防止恶意攻击、保护用户隐私等方面。

测试扫码支付的速度和稳定性,包括响应时间、并发处理能力等方面。

测试扫码支付在不同设备上的兼容性,包括不同操作系统、不同浏览器等方面。

26、性能测试指标?常用性能测试工具?

性能测试指标包括:- 响应时间:即请求从发送到接收到响应的时间;- 吞吐量:即单位时间内系统处理的请求数;- 并发用户数:即同时访问系统的用户数;- 资源利用率:即系统在处理请求时所占用的资源比例。

常用的性能测试工具有:

- JMeter:Apache JMeter是一个开源的Java应用程序,用于测试Web应用程序的性能和负载能力;

- LoadRunner:LoadRunner是一种商业性能测试工具,用于模拟负载和性能测试;

- Gatling:Gatling是一个快速的开源负载测试工具,

27、算法题:求最长公共子串(写的有点问题,面试官说不用写了┭┮﹏┭┮)

def longest_common_substring(s1, s2):m = len(s1)n = len(s2)# 初始化二维数组dp = [[0] * (n + 1) for i in range(m + 1)]max_len = 0end = 0# 动态规划求解for i in range(1, m + 1):for j in range(1, n + 1):if s1[i - 1] == s2[j - 1]:dp[i][j] = dp[i - 1][j - 1] + 1if dp[i][j] > max_len:max_len = dp[i][j]end = ireturn s1[end - max_len:end]

其中,s1和s2为两个字符串,返回它们的最长公共子串。该算法的时间复杂度为O(mn),空间复杂度为O(mn)。

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/64187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++通过JNI调用JAVA方法返回ArrayList对象

运行效果: JAVA实现: 获取系统已安装应用列表并返回List<String>对象 //使用系统API获取安装包列表public List<String> getAppList(MainActivity act) {List<String> packages = new ArrayList<String>();try {//取包信息列表List<PackageInf…

计算机网络 概述部分

目录 计算机网络在信息时代的作用 计算机网络的重要特征 网络&#xff0c;internet,Internet的区别 局域网 广域网的区别 网络协议的分层 计算机网络在信息时代的作用 计算机网络的重要特征 连通性&#xff1a;彼此联通&#xff0c;交换信息 共享性&#xff1a;信息共享…

Java实现根据关键词搜索当当商品列表数据方法,当当API接口申请指南

要通过当当网的API获取商品列表数据&#xff0c;您可以使用当当开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过当当开放平台API获取商品列表&#xff1a; 首先&#xff0c;确保您已注册成为当当开放平台的开发者&#xff0c;并创建…

老程序员教你如何笑对问题,轻松培养逻辑思考和解决问题的能力

原文链接 ​​​​​​​老程序员教你如何笑对问题&#xff0c;轻松培养逻辑思考和解决问题的能力 故事发生在一个阳光明媚的午后&#xff0c;我们的主人公&#xff0c;老李&#xff0c;一位拥有十年工作经验的 Python 老程序员&#xff0c;正悠哉地在喝着咖啡。 这时&#x…

扫盲:常用NoSQL数据库

前言 关系型数据库产品很多&#xff0c;如 MySQL、Oracle、Microsoft SQL Sever 等&#xff0c;但它们的基本模型都是关系型数据模型。 非关系型数据库又称为&#xff1a;NoSQL &#xff0c;没有统一的模型&#xff0c;而且是非关系型的。 常见的 NoSQL 数据库包括键值数据库、…

python unitest自动化框架

以下举一个最简单的unitest实例&#xff0c;包含备注&#xff0c;自己拉取代码运行一次就知道原理了 import unittest import osclass TestSample(unittest.TestCase):classmethoddef setUpClass(cls) -> None:print(整个测试类只执行一次)def setUp(self) -> None:prin…

Prometheus+grafana安装配置

Prometheus安装配置 Prometheus下载地址 官方地址&#xff1a;Download | Prometheus 可根据系统版本下载想要的安装包&#xff0c;复制链接地址 wget https://github.com/prometheus/prometheus/releases/download/v2.33.3/prometheus-2.33.3.linux-amd64.tar.gzwg 解压pr…

系列五、Java操作RocketMQ简单消息之同步消息

一、概述 同步消息的特征是消息发出后会有一个返回值&#xff0c;即RocketMQ服务器收到消息后的一个确认&#xff0c;这种方式非常安全&#xff0c;但是性能上却没有那么高&#xff0c;而且在集群模式下&#xff0c;也是要等到所有的从机都复制了消息以后才会返回&#xff0c;适…

【链表OJ 10】环形链表Ⅱ(求入环节点)

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上链表OJ题目 目录 leetcode142. 环形链表 II 1.问题描述 2.代码思路 3.问题分析 leetcode142. 环形链…

04、添加 com.fasterxml.jackson.dataformat -- jackson-dataformat-xml 依赖报错

Correct the classpath of your application so that it contains a single, compatible version of com.fasterxml.jackson.dataformat.xml.XmlMapper 解决&#xff1a; 改用其他版本&#xff0c;我没写版本号&#xff0c;springboot自己默认的是 2.11.4 版本 成功启动项目…

Vulnhub: Ragnar Lothbrok: 1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.226 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.226 作者提示修改hosts文件 目录爆破 gobuster dir -u http://armbjorn -w /usr/share/wordlists/dirbuster/directory-l…

Java自定义异常

Java标准库定义的常用异常包括&#xff1a; 当我们在代码中需要抛出异常时&#xff0c;尽量使用JDK已定义的异常类型。例如&#xff0c;参数检查不合法&#xff0c;应该抛出IllegalArgumentException&#xff1a; static void process1(int age) {if (age < 0) {throw new…

mysql中的with

概念 WITH 子句是 MySQL 中的一种 SQL 结构&#xff0c;又称为 Common Table Expression (CTE)。它在不影响原有 SQL 语句的情况下&#xff0c;允许开发人员临时创建一个内存中的结果集&#xff0c;然后对其进行操作。 作用 WITH 子句的主要用途是创建一个暂时的结果集&…

2023高教社杯数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法&#xff0c;就是频繁模…

响应式图片与 CSS image-set

响应式图片 前置知识 art direction problem光栅图像与矢量图像 raster image and vector images img 能否担此重任 sizessrcset实际看一看 picture: img 的好姐妹 source实际看一看 CSS image-set 语法兼容性 其他注意事项 响应式图片 图片在网页中占据了 超过 60% 的浏览带…

基于微信小程序的汽车租赁系统的设计与实现ljx7y

汽车租赁系统&#xff0c;主要包括管理员、用户二个权限角色&#xff0c;对于用户角色不同&#xff0c;所使用的功能模块相应不同。本文从管理员、用户的功能要求出发&#xff0c;汽车租赁系统系统中的功能模块主要是实现管理员后端&#xff1b;首页、个人中心、汽车品牌管理、…

SAP_ABAP_OLE_EXCEL批导案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OLE_EXCEL批导 1.1 下载按钮 1.2 选择EXCEL上传&#xff0c;解析EXCLE数据&#xff0c; Call屏幕。 1.3 实现效果 1.4…

数据结构——哈希表

哈希表 这里没有讲哈希表底层的概念&#xff0c;什么转红黑树&#xff0c;什么链表的&#xff0c;这篇文章主要讲的是如何用C实现哈希表&#xff0c;以及哈希表的基本概念。后面我会出一篇文章来讲C中hashmap中的底层逻辑的知识。 哈希表的概念 哈希表是一种数据结构&#xff0…

JZ12 矩阵中的路径

剑指Offer编程链接&#xff1a;JZ12 题目描述&#xff1a; 思路&#xff1a;递归回溯的方法&#xff0c;总结一下什么情况需要使用递归&#xff1a; 递归在解决问题时&#xff0c;通常涉及以下情况&#xff1a; 问题可被分解为较小的相似子问题。子问题与原问题具有相同的结…

Java空指针异常

在所有的RuntimeException异常中&#xff0c;Java程序员最熟悉的恐怕就是NullPointerException了。 NullPointerException即空指针异常&#xff0c;俗称NPE。如果一个对象为null&#xff0c;调用其方法或访问其字段就会产生NullPointerException&#xff0c;这个异常通常是由J…