字节测试开发岗面试竟如此简单...

news2024/9/30 18:24:47

前言

因为读者里有不少刚入门测试的同学,这两天抽空整理了一份字节测试开发岗的面试题答案,说实话这个题目真挺简单的,如果你面大厂碰到此类面试题,也算是运气很好啦。大家也可以先自测一下,看看自己能不能答上来。

如果觉得有些知识点只是了解,但一问又说不上来的话,建议面试前去补补基础。我高中数学老师的口头禅就是:“半懂不懂,就是不懂。”

字节跳动测试开发一面面经(答案)

1)自我介绍(略)

2)http和https的区别

HTTP 协议传输的数据都是未经加密的,即明文的,因此使用 HTTP 协议传输隐私信息不安全。

为了保证隐私数据能够加密传输,于是使用SSL 协议用于对 HTTP 协议传输的数据进行加密,即 HTTPS;

HTTPS 协议是 HTTP + SSL 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 更加安全。

HTTP和HTTPS两者的区别主要有:

  • HTTPS 需要到 CA 申请证书,一般免费证书较少,因此需要一定费用;
  • HTTP 是超文本传输信息,信息是明文传输;HTTPS 是具有安全性的 SSL 加密传输协议;
  • HTTP 和 HTTPS 使用的是完全不同的连接方式,HTTP 默认使用 80 端口,而 HTTPS 默认使用 443 端口;
  • HTTP 的连接简单,是无状态的;而 HTTPS 是 SSL + HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全;

在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

自动化测试开发教程天花板,27天速成,从入门到就业,比你盲目自学好多了,允许白嫖!

3)http状态码

HTTP状态码大致分类如下:

  • 1xx:消息类,服务器收到请求,需要请求者继续执行操作。
  • 2xx:成功类,请求被成功接受并处理。
  • 3xx:重定向类,需要进一步操作完成请求。
  • 4xx:客户端错误类,客户端请求出错,服务器无法处理请求。
  • 5xx/6xx:服务器错误类,服务器处理请求出错。

较为常见的几种状态码:

【1xx】

100 -(Continue):客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。

101 -(Switching Protocols):切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议。

【2xx】

200 -(OK):请求已成功,请求所希望的响应头或数据体将随此响应返回。
201 -(Created):已创建。成功请求并创建了新的资源。

【3xx】

301 -(Moved Permanently):永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
302 -(Found):临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
304 -(Not Modified):未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。

【4xx】

400 -(Bad Request):客户端请求的语法错误,服务器无法理解。
403 -(Forbidden):服务器理解请求客户端的请求,但是拒绝执行此请求。
404 -(Not Found):服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面。

【5xx】

500 -(Internal Server Error):服务器内部错误,无法完成请求。
502 -(Bad Gateway):充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
503 -(Service Unavailable):由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。
504 -(Gateway Time-out):充当网关或代理的服务器,未及时从远端服务器获取请求。

4)http劫持

大多数情况是运营商HTTP劫持。

当我们使用HTTP请求请求一个网站页面的时候,网络运营商会在正常的数据流中插入精心设计的网络数据报文,让客户端(通常是浏览器)展示“错误”的数据,通常是一些弹窗,宣传性广告或者直接显示某网站的内容。

HTTP 劫持的实现原理

  • 用户的浏览器访问网页,发送HTTP请求,运营商的路由器会在TCP链接中,过滤出HTTP请求,并进行标识。
  • 随后,抢在被访问的网站正常响应前,对此次浏览器发起的请求进行重定向,然后将被访问的网站正常响应数据包丢弃掉;
  • 或者是运营商路由器接收了网站正常响应,然后对响应的HTML代码进行“加工修改”,比如:加了一段恼人的广告,然后再把修改后的HTML代码扔给浏览器进行渲染。(其实跟中间人代理的原理差不多)

从上述原理中看出,如果需要进行HTTP劫持,首先需要进行标记:如果是HTTP协议,那么进行劫持,否则不进行劫持。

5)URL响应【题目描述不明确】

6)线程与进程的区别

进程是资源分配的最小单位,线程是程序执行的最小单位。

进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。

而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很位。

线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据。而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。

但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

7)线程间通信方式

  • 锁机制:包括互斥锁、条件变量、读写锁。
  • 互斥锁:提供了以排他方式防止数据结构被并发修改的方法。
  • 读写锁:允许多个线程同时读共享数据,而对写操作是互斥的。
  • 条件变量:可以以原子的方式阻塞进程,直到某个特定条件为真为止。对条件的测试是在互斥锁的保护下进行的。条件变量始终与互斥锁一起使用。
  • 信号量机制(Semaphore):包括无名线程信号量和命名线程信号量。
  • 信号机制(Signal):类似进程间的信号处理。

线程间的通信目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制。

8)实现多线程的方式

JAVA多线程实现方式主要有四种:

  • 继承Thread类;
  • 实现Runnable接口;
  • 实现Callable接口通过FutureTask包装器来创建Thread线程;
  • 使用ExecutorService、Callable、Future实现有返回结果的多线程。

其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。

9)西瓜视频的用例测试

题目不太明确,这里给出一些测试点,大家可以再进行扩充。
图片

10)兼用(软件、硬件、网络) 【题目不明确】

11)抖音有哪些需要改进的地方?刷不出来时怎么定位测试?

定位测试:
确认网络环境是否正常
抓包看接口返回
查看服务端日志

12)DNS【题目不明确】

13)http和tcp/ip分别在哪一层?

HTTP:应用层
TCP:传输层
IP:网络层

14)sleep()和wait()方法的区别

本题应该考察的是Java的知识点:
类的不同:
sleep() 来自 Thread。wait() 来自 Object。
释放锁:
sleep() 不释放锁;wait() 释放锁。
用法不同:
sleep() 时间到会自动恢复;wait() 可以使用 notify() / notifyAll()直接唤醒。
使用方法范围不同:
sleep可以使用在任何代码块 。wait必须在同步方法或同步代码块执行。
生命周期:
当线程调用wait()或者join时,线程都会进入到waiting状态,当调用notify或notifyAll时,或者join的线程执行结束后,会进入runnable状态。当线程调用sleep(time),或者wait(time)时,进入timed waiting状态。

15)深拷贝和浅拷贝

浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝(例:assign())
深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝。(例:JSON.parse()和JSON.stringify(),但是此方法无法复制函数类型)

16)JDK、JRE【题目不明确】

JDK:JAVA开发工具包
JRE:JAVA运行环境

17)找出字符串中第一个不重复的字符

本题为剑指offer(57)原题。

leetcode链接:
https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/solution/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-by-3zqv5/

18)你还有什么要问的吗?(工作流程、培训体制)

一面部分到此结束

如果你也在准备字节跳动的面试,那么祝你早日顺利上岸!
 

写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 

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

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

相关文章

图片文件过大怎么压缩?五种压缩方法大全

图片文件过大怎么压缩?不知道大家有没有遇到过这样的尴尬情况,当我们将一些图片上传到某个网站的时候,被提示图片大小操作了网站的限制而被禁止上传,我相信很多人都遇到过吧,其实这是网站的一张防御措施,防…

aosp定制android系统

目录 AOSP 准备工作(配置) 确定机型和版本 初始化 git安装 curl安装 同步源码 环境变量 创建aosp目录 指定同步版本 解下来安装编译需要的依赖 编译aosp源码 刷入系统 AOSP 全称 Android Open Source Project 是指Android开源项目,它是由Google主导的…

【Java】BMI身体质量指数计算工具

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍BMI身体质量指数计算工具的Java实现。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…

服装和纺织品在欧盟和英国售卖需要做哪些认证?REACH认证、EN14682认证

近期,不少亚马逊卖家在欧洲和应该售卖纺织品和服装都遇到了安全问题,下架的理由都是不符合产品安全的要求,下架邮件有以下几种: ①标签不合规 ②不符合安全标准 那么,纺织品出口到欧盟和英国,具体有哪些要…

智能井盖传感器功能,万宾科技产品介绍

在国家治理方面,对社会的治理是一个重要的领域,一定要在推进社会治理现代化过程中提高市政府的管理和工作能力,推动社会拥有稳定有序的发展。在管理过程中对全市井盖进行统一化管理,可能是市政府比较头疼的难题,如果想…

新开普智慧校园系统RCE漏洞 [附POC]

文章目录 新开普智慧校园系统RCE漏洞 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 新开普智慧校园系统RCE漏洞 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测试&#x…

某集团营销、制造多公司业财一体核算整体流程图(ODOO15/16)

某集团旗下有销售公司、加工制造厂、原料生产厂等多家公司,此类型公司从客户订单到完成交货,业务环节相对复杂,业务单据多,出纳银行收付款流水多、对象多,难以正确核销,跟单部难以全面了解订单进度&#xf…

【亲测推荐】魔方财务和魔方云系统开源全解密

简介 资源入口点击进入 众所周知,魔方财务现在官方售价299,那么接下来就是带来开心版,详细手写实测安装教程已经放在付费资源中 展示 > 本文由博客一文多发平台 [OpenWrite](https://openwrite.cn?fromarticle_bottom) 发布!

大数据之LibrA数据库系统告警处理(ALM-12029 license文件失效)

告警解释 系统在安装集群后和每天零点检查当前系统中的license文件是否失效(即当前集群中导入的license文件的节点数是否超限,license文件是否过期)。如果license文件失效,产生该告警。 当license文件有效时,告警恢复…

Java使用FTP连接到NAS读取文件信息,并将文件信息变成单向树形结构设置到对象中

检测NAS是否启用的FTP连接模式 如果这里不启用会出现下面错误提示&#xff1a; MalformedServerReplyException: Could not parse response code. Server Reply: SSH-2.0-OpenS 使用依赖 <dependency><groupId>commons-net</groupId><artifactId>comm…

【高德地图API】JS高德地图实现点标连线,高德地图实现点跟点连线,高德地图实现连线

前言 高德地图API参考&#xff1a;https://lbs.amap.com/demo/javascript-api/example/marker/custom-icon 实现各个点标的经纬度连线&#xff0c;点击点标可查看内容&#xff08;自定义的&#xff09; 效果 实现 案例实现&#xff0c;复制粘贴&#xff0c;将安全密钥和key替…

个性化联邦学习-综述

介绍阅读的三篇个性化联邦学习的经典综述文章 Three Approaches for Personalization with Applications to Federated Learning 论文地址 文章的主要内容 介绍了用户聚类&#xff0c;数据插值&#xff0c;模型插值三种个性化联邦学习的方法。 用户聚类&#xff1a; 目的&a…

工作四年,我学会了用 Idea本地调试线上服务器代码

文章目录 工作四年&#xff0c;我学会了用 Idea本地调试线上服务器代码&#x1f4c6; 一.那些辛酸的过往&#x1f4d5;二.远程debug原理远程调试分类主动连接调试&#xff1a;被动连接调试&#xff1a; &#x1f44b;三.操作步骤3.1.准备一个简单springboot程序 例如helloworld…

【带头学C++】----- 三、指针章 ---- 3.11 补充重要指针知识

1.指针的指针&#xff08;多级指针&#xff09; 指针的指针&#xff08;Pointer to Pointer&#xff09;是指一个指向指针的指针变量。也就是说&#xff0c;它存储了一个指向指针的内存地址。在C中&#xff0c;指针的指针可以用来传递多个指针参数&#xff0c;或者用于在函数内…

期中成绩发布啦

期中考试过后&#xff0c;老师们最头疼的事情之一就是成绩的录入和发布。而学生们最关心的事情之一则是如何能够快速、方便地查询到自己的成绩。那么&#xff0c;如何让学生自主查询成绩呢&#xff1f;下面就给大家介绍几种简单实用的方法。 一、使用学校官网或教务系统查询 现…

1698 - Access denied for user ‘root‘@‘192.168.229.1‘

目录 1. 问题现象 2. 问题分析及解决方法 1. 问题现象 在使用mysql连接工具连接mysql的时候如下&#xff1a; 出现了如下错误&#xff1a; 2. 问题分析及解决方法 出现这种错误一般有两种情况&#xff1a;一种是密码输入错误&#xff0c;重新检查一下密码再试一下&#xf…

后期混音效果全套插件Waves 14 Complete mac中文版新增功能

Waves 14 Complete for Mac是一款后期混音效果全套插件&#xff0c;Waves音频插件,内置混响&#xff0c;压缩&#xff0c;降噪和EQ等要素到建模的模拟硬件&#xff0c;环绕声和后期制作工具&#xff0c;包含全套音频效果器&#xff0c;是可以让你使用所有功能。Waves 14 Comple…

简述SVM

概述 SVM&#xff0c;即支持向量机&#xff08;Support Vector Machine&#xff09;&#xff0c;是一种常见的监督学习算法&#xff0c;用于分类和回归问题。它是一种基于统计学习理论和结构风险最小化原则的机器学习方法。 SVM的主要思想是在特征空间中找到一个最优的超平面…

智慧农业:农林牧数据可视化监控平台

数字农业是一种现代农业方式&#xff0c;它将信息作为农业生产的重要元素&#xff0c;并利用现代信息技术进行农业生产过程的实时可视化、数字化设计和信息化管理。能将信息技术与农业生产的各个环节有机融合&#xff0c;对于改造传统农业和改变农业生产方式具有重要意义。 图扑…

AVL平衡树的插入

//AVL搜索树 //对数据的搜索&#xff1a; 1&#xff1a;暴力查找遍历 // 2:二叉树 有序&#xff0c;但是伴随着插入删除&#xff0c;维护成本很高 // 3&#xff1a;二叉搜索树 问题&#xff1a;在极端情况下&#xff0c;会退化成最开始的链表 // …