春招面了个字节拿 36K 出来的,让我见识到了基础的天花板

news2024/11/26 8:45:59

今年的春招基本已经进入大规模的开奖季了,很多小伙伴收获不错,拿到了心仪的 offer。

各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。

俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的,这次腾讯也在疯狂招人!肝完这份八股文,36K 妥了!

这份总结内容涵盖极广,包含了 16个技术栈:

一、测试理论

什么是软件测试?

  • 为了发现程序中的错误而执行程序的过程

软件测试的目标

  • 发现尽可能多的错误
    测试是一个为了寻找错误而运行程序的过程。
    一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。
    一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

怎么编写案例?

  • 案例的编写与测试阶段的定义有很大的关系。系统测试和 unit 测试的案例可能不同。总体而言测试案例根据系统的需求而定。

二、Linux 基础

Linux 中,一般怎么隐藏文件?

  • 文件名以一个.开头

在 Linux 系统中,一个文件的访问权限是 755,其含义是什么?

  • 755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。

在 Linux 系统中,一个文件的访问权限是 755,其含义是什么?

  • 755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。

三、MySQL 基础

什么是数据库?

  • 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

简述什么是存储过程和触发器?

  • 存储过程:是数据库中的一个对象,Transact-SQL 语句的预编译集合,这些语句在一个名称下存储并作为一个单元进行处理。(可以理解为 C 语言中的函数,有参数、返回值等函数特性)

    触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。

Mysql 数据库中怎么实现分页?

  • select * from table limit (start-1)*limit,limit;其中 start 是页码,limit 是每页显示的条数。

四、Web 测试

如何测试购买下单和退货流程

  • 产品经理设计了单品优惠,组合优惠,订单优惠,优惠券优惠(优惠券优惠包含通用券,定向券,满减券,折扣券)和礼品卡,其中礼品卡上需要单独购买的。请问如何测试购买下单和退货流程,需要注意什么?(包含数据存储)

nginx,tomcat,apache 都是什么?

  • Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。

    Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。

五、接口测试

什么是接口

  • 接口是指外部系统与系统之间以及内部各子系统之间的交互点。
    包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

下个接口请求参数依赖上个接口的返回数据

  • 这个很容易,不同的接口封装成不同的函数或方法,需要的数据 return 出来,用一个中间变量 a去接受,后面的接口传 a 就可以了

接口测试中依赖登录状态的接口如何测试?

  • 依赖登最状态的接口,本质上是在每次发送请求时需要带上存储有账户有效信息的 Session 或Cookie 才能发送成功,在构建 POST 请求时添加必要的 Session 或 Cookie

六、App 测试

在查看 logcat 命令日志时候怎么内容保存到本地文件?

  • 输出重定向:logcat >> log_file_name

Appium 都有哪些启动方式

  • 1.客户端启动
  • 2.命令行启动

//*[contains(@text,”登录”)]”是什么意思

  • 定位第一个元素 text 属性包含登录的元素

七、Python 基础

字符串反序输出?

  • print(a_str[::-1])

判断回文?

  • astr[::-1] == a_str

简述你对 input()函数的理解?

  • 在 Python3 中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。在 Python2中有 raw_input()和 input(), raw_input()和 Python3 中的input()作用是一样的, input()输入的是什么数据类型的,获取到的就是什么数据类型的。

八、Selenium 相关

什么是 Selenium?

  • Selenium 就是一套专门用于自动化 Web 浏览器的工具。而已!你用这个东西来做什么完全取决于你。主要是用于自动化 Web 应用程序进行测试,但肯定不仅限于此。无聊的基于 Web 的管理任务也可以(也应该!)也是自动化的。

    Selenium 有一些最大的浏览器供应商的支持,他们已经采取(或正在采取)步骤使 Selenium 成为其浏览器的本地部分。 它也是无数其他浏览器自动化工具,API 和框架的核心技术。

    最新的 Selenium 版本已经是 3.0(2016 年 10 月 13 日正式 release),但是因为是新技术,Selenium3.0的使用范围还不太广泛。变动的范围也不是很大,主要是更倾向于 Webdriver,而更多的摒弃了 RC。

什么是 elenium IDE?

  • Selenium IDE 是 Selenium 脚本的集成开发环境。 它被实现为 Firefox 扩展(插件),并允许您记录,编辑和调试测试。

webdriver 如何开启和退出一个浏览器?

  • 开启:dr = webdriver.浏览器类型() 关闭:dr.quit()

在这里插入图片描述

九、性能测试

你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?

  • 性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。

    性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。

简述什么是值传递,什么是地址传递,两者区别是什么?

  • 值传递主调函数传递给被调函数的是值的拷贝,不是原值;地址传递主调函数传递给被调函数的是值的地址。区别是值传递被调函数中的操作不改变主调函数的值,而地址传递则不同。

LoadRunner 分哪三部分?

  • 用户动作设计;
  • 场景设计;
  • 测试数据分析;

十、LordRunner 相关

LoadRunner 分哪三部分?

  • 用户动作设计;
  • 场景设计;
  • 测试数据分析;

简述 LoadRunner 的工作原理?

  • Loadrunner 会自动监控指定的 URL 或应用程序所发出的请求及服务器返回的响应,它做为一个第三方(Agent)监视客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。

什么是 LoadRunner 的组件?

  • LoadRunner 的组件有虚拟用户生成器,控制器、代理程序、LoadRunner 的分析器和监控器,LoadRunner在线帮助

十一、逻辑题

在一天的 24 小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?

  • 23 次,因为分针要转 24 圈,时针才能转 1 圈,而分针和时针重合两次之间的间隔显然>1 小时,它们有 23 次重合机会,每次重合中秒针有一次重合机会,所以是 23 次重合时间可以对照手表求出,也可列方程求出。

十二、人力资源

你的测试职业发展是什么?你自认为做测试的优势在哪里?

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

  • 优势在于我对测试坚定不移的信心和热情,虽然经验还不够,但测试需要的基本技能我有信心在工作中得以发挥

好的测试工程师应具备的素质?

  • 沟通能力、移情能力、技术能力、自信心、外交能力、幽默感、很强的记忆力、 耐心、怀疑精神、自我督促、洞察力

请介绍一下你的项目

  • 从几个部分来说,先项目规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本,然后是整体的测试流程,然后再是角色与职责,接下来是在项目中自己的特色,比如做得最好的是、遇到最大的困难时(如何解决)、最差的是,最后是心得体会。

内容太多了,篇幅有限,所有文档、PDF的知识体系以截图形式展示,所有的教程学习PDF这边也只是大致介绍一番,不过可提供全部教程的原件给大家免费下载。

获取方式:

在这里插入图片描述

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

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

相关文章

Unity中Camera参数—Culling Mask详解

Culling Mask 如下图所示: 显示层级如下: 应用: Culling Mask :主要是相机针对不同层级的物体进行渲染的操作(想让相机渲染哪个层就勾选哪个层) 层级介绍: unity中的层前7个被unity锁定&#…

第三篇:分治算法

第三篇:分治算法 1. 分治算法简介2. 递归算法框架模板3. 分治演示代码4. 递归算法经典案例 分治算法的思想是将大问题分解成小问题,解决完一个一个小问题便解决了大问题。比如,我们想从杭州出发到徐州,可以分解成杭州到南京&#…

科技云报道:济南公交热线96190背后的“数字力量”

科技云报道原创。 “喂,公交公司吗?我的手提包落在63路车上了,能帮我找一下吗?” “我们小区距离公交站比较远,能增加个公交线路吗?” “等了半天车都不来,公交车为啥这么难等?”…

计算机网络实验---思科模拟器

文章目录 1. 组建小型局域网2. 交换机的配置与管理实验3:交换机划分 Vlan实验4:路由器的基本配置实验5:静态路由实验7:动态路由 1. 组建小型局域网 需要一台交换机,两台PC,连线连起来 配置 PC0 和 PC1 配置…

【大数据之Hive】十二、Hive-HQL查询之分组、join、排序

一、分组 1 group by 语句 group by 通常和聚合函数一起使用,按照一个或多个列的结果进行分组,任何对每个租执行聚合操作。   用group by时,select中只能用在group by中的字段和聚合函数。 --计算emp每个部门中每个岗位的最高薪水&#x…

C++ 设计模式----“单一职责“模式

二、“单一职责”模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。  典型模式 • Decorator • Bridge 【1】D…

RabbitMQ高阶使用延时任务

目录 1 从打车开始说起1.1 需要解决的问题1.1.1 打车超时 2 延时任务2.1 什么是延时任务2.1.1 和定时任务区别 2.2 延时队列使用场景2.3 常见方案2.3.1 数据库轮询2.3.1 JDK的延迟队列2.3.3 netty时间轮算法2.3.4 使用消息队列 2.4 延时队列2.4.1 TTL(消息过期时间) 2.4.1.1 配…

第七十五天学习记录:高等数学:定积分(宋浩板书)

定积分是微积分中的一个重要概念,表示在给定区间上函数曲线下的面积或有向曲线与坐标轴围成的面积。定积分通常用符号 ∫ 来表示,具体形式为 ∫f(x) dx。 对于给定的函数 f(x) 和区间 [a, b],定积分的计算可以通过求函数 f(x) 在该区间上的原…

【C++】STL的vector容器

目录 2、vector容器 1.1模板实例化 1.2定义与初始化vector对象 2.1vector构造函数 2.2vector赋值操作 2.2vector的容量和大小 2.4vector的插入 2.5vector的删除 2.6vector数据存取 2.7vector互换容器 2.8vector预留空间 2、vector容器 vector是C最常用的容器之一&a…

深度学习(神经网络)

文章目录 神经网络历史形式神经元模型(M-P模型)感知器多层感知器 误差反向传播算法误差函数和激活函数误差函数二次代价函数交叉熵代价函数 激活函数sigmoid函数RELU函数 似然函数softmax函数 随机梯度下降法批量学习方法在线学习小批量梯度下降法 学习率…

<Linux开发>驱动开发 -之-阻塞、非阻塞IO和异步通知

<Linux开发>驱动开发 -之-阻塞、非阻塞IO和异步通知 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移…

easyui01(基本布局)

一.概述 1.What? jQuery EasyUI是一组基于jQuery的UI插件集合体,能帮助web开发者更轻松的打造出功能丰富并且美观的UI界面 2.Why? ①.使用easyui 不需要写很多代码,只需要编写一些简单 HTML 标记,就可以定义用户界…

Java优先级队列源码分析

先导课程:二叉堆学习 优先级队列 1. Priority Queue 优先级队列(Priority Queue)也是队列 普通队列按照FIFO原则,也就是先进先出优先级队列按照优先级高低进行出队,比如将优先级最高的元素作为队头优先出队 基本接口和…

Vue3中Composition 其他一些API

一、 Reactive判断的API 1. isProxy 检查对象是否由reactive或者readonly创建的proxy &#xff0c;返回一个布尔值 <script setup> import { reactive, readonly, isProxy } from vuelet foo readonly({ name: WFT1 }) // 其中的属性不可修改let bar reactive({ n…

DeepSpeed结合Megatron-LM训练GPT2模型笔记(上)

文章目录 0x0. 前言0x1. Megatron使用单卡训练GPT2依赖安装准备训练数据训练详细流程和踩坑 0x2. Megatron使用单卡预测训练好的GPT2模型0x3. 参数量和显存估计参数量估计训练显存占用估计 0x4. Megatron使用多卡训练GPT2模型2卡数据并行2卡模型并行 0x5. 总结 0x0. 前言 本文…

【V4L2】 v4l2框架分析之v4l2_subdev

文章目录 一、v4l2_subdev简介二、初始化v4l2_subdev三、注册/注销subdev四、异步注册子设备 一、v4l2_subdev简介 相关源码文件&#xff1a; /include/media/v4l2-subdev.h/drivers/media/v4l2-core/v4l2-subdev.c 在linux内核中&#xff0c;许多驱动程序需要与子设备通信&…

【嵌入式linux】spi驱动加载后probe函数未执行的问题

【嵌入式linux】spi驱动加载后probe函数未执行的问题 问题描述解决办法 问题描述 嵌入式linux平台下的spi分为设备、总线和驱动&#xff0c;一般半导体原厂已经实现好了spi设备和总线的相关代码&#xff0c;开发者只需根据实际使用情况修改设备树以及编写驱动部分的代码即可。…

Android进阶 四大组件的工作过程(四):ContentProvider的工作过程

Android进阶 四大组件的工作工程&#xff08;四&#xff09;&#xff1a;ContentProvider的工作过程 导语 本篇是介绍四大组件的最后一篇文章&#xff0c;前三篇文章里我们已经介绍了Activity&#xff0c;Service以及Broadcast的工作流程&#xff0c;那么这篇文章我们就来介绍…

【数据结构与算法分析】一文搞定插入排序、交换排序、简单选择排序、合并排序的代码实现并给出详细讲解

文章目录 排序相关的基本概念排序算法及其实现插入排序直接插入排序折半插入排序希尔排序 交换排序冒泡排序快速排序 合并排序归并排序简单选择排序 算法比较 排序相关的基本概念 排序&#xff1a;将数组中所有元素按照某一顺序(从小到大或从大到小)重新排列的过程。排序算法的…

DJ2-5 内容分发网络 CDN

目录 单一的大规模数据中心 内容分发网络 CDN 单一的大规模数据中心 存在三个问题&#xff1a; ① 如果客户远离数据中心&#xff0c;服务器到客户的分组将跨越许多通信链路并很可能通过许多 ISP&#xff0c;给用户带来恼人的时延。 ② 流行的视频很可能经过相同的通信链路…