华为面试题就这?24岁的我直接拿下28K的offer...

news2024/11/30 12:51:32

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

先说一下我的情况,某普通本科计算机,之前在深圳那边做了大约半年多少儿编程老师,之后内部平调回长沙这边,回来之后发现有点难,这边可能是业绩难做,虚假承诺很厉害,要给那些家长虚假承诺去骗人家,技术上也没啥提升,工资自然也不会有提升(不说提升了,不降就是幸运的了),后面就辞职了,然后自学一段时间就面华为od(现在这环境,我这情况这样很满足了)。

前期准备

因为之前也带学生打csp,所以对我来说做题不算很难的事情,把华为hj103刷穿了,自己另外刷了一些动态规划的题目。

之后问hr要了机考链接,稍微把之前刷的题过了一遍,找了些真题做了一下,就去考了。也是绝了,考试之前专门和家里面的人打了电话说不要给我打电话,免得影响考试,结果那天晚上社区的人来查什么天然气使用情况,咚咚咚地敲门,给我整得有点紧张。

面试过程

说说题目:

第一题

是一道模拟题,给你一个数字n和接下来的n行字符串,字符串是考勤记录,让你判断哪些记录是异常的。就这么一个题,我不知道是读题有问题还是怎么的,只能过30%多的样例,磨了几十分钟,放弃掉开始做第二第三题。

第二题

第一个字符是R,第二是是BR,第三个是RBBR,第四个是RBBRRBBR.......问你给你一个数字n和一个数字k,表示第n个字符串的第k个字符,这个字符是什么,是B则输出blue,是R则输出red

这是一个典型的dp,但是直接写的话,空间复杂度是2^n,需要用二分优化一下,简单。

第三题

给你一堆数字,问你其中能组成直角三角形的最大组合数,需要用搜索回溯做。

接下来就是性格测试,按照乐观、乐于助人、愿意加班去选就行了,后来性格测试也过了。

结果过了之后hr说这边没hc了,问我去不去西安,我选择了不去。后面又告诉我有一个hc,让我抓紧准备。

一面过了,感觉还是蛮简单的,可能人家面试官知道我是转行的,没有问很深的问题为难我吧。

开始面试,直接发了一道题过来,让我先做。

题目是这样的:

源数组a,将a中所有元素乘以2之后添加进a,则这个a就叫双倍数组,给你一个数组a,判断它是不是双倍数组,如果是则输出源数组,不是则输出空数组。

思路:

接受输入,存入a,拷贝一份存入b,另外开两个数组single,double用于筛选之后的存储,以i遍历b,如果i*2在a中,则从a中弹出i和i*2,并将其分别添加进single和double中。

遍历完成之后,a如果为空,说明所有的元素都被筛选出来了,则a是一个双倍数组,将single输出,否则输出空数组。

需要特别注意的是0的筛选,因为0*2还是0,可以提前写个特判处理下。

做完之后面试官简单看了下,让我说了下思路。然后就是自我介绍,我简单介绍了一下自己写的两个自动化程序,和一个之前带学生参加比赛写的Python程序,面试官看完表示比较满意,说可以和测试工作结合起来,后面问了一个场景题目,延伸问题的时候就提到了我会一点自动化的技能跟测试工作的联系。

问了:你觉得功能测试,按照你的理解,工作内容包括哪些?

说实话,我感觉这个问题对我来说实在太抽象了,就把测试流程答了一遍。然后面试官可能觉得答得不好,但是不想给我太负面的评价,支支吾吾说了个:你这答得确实比较基础

问了:黑盒测试和白盒测试的区别

这个简单,黑盒能看到功能、UI,看不到代码,白盒可以看到代码。

问了:假设我们公司现在开发一个类似于微信的软件1.0版本,现在要你测试这个功能:打开聊天窗口,输入文本,限制字数在200字以内,问你怎么提取测试点。

这个场景题我答的也不算很好,想到了使用等价类划分法进行测试样例的设计,有效等价类就是打开聊天窗口,输入一段200字以内的文本,无效等价类包括打开聊天窗口,输入非文本信息,比如尝试粘贴图片;打开聊天窗口,输入文本信息,字数超过200字;

后来经过面试官提醒,说了需要做兼容性测试,测试在不同系统上,pc和移动端,功能是否正常,还有前置条件要保证网络正常。

然后继续问:你觉得会的自动化技能怎么跟这个测试场景联系起来,怎么做自动化测试。

因为我刚才展示的自动化程序里面有一个就是自动回复微信消息的,跟这个很像,就答了刚才那个程序稍稍改一下就可以用来做这个测试工作,另外需要添加的功能应该是需要读取excel表格中的数据,用于测试。

问了:接口测试的工具你了解哪些

这我也不太知道,就说了一个postman还有jmeter

然后就是反问环节,问我有啥要问的。

我问了,对于软件测试这个岗位而言,我还有哪些需要提升的地方。

如果入职,咱们公司有哪些措施帮助和监督新人成长

随着技术的提升会有调薪吗?

总的来说,做题和展示我的代码的环节我觉得还是表现得不错的,但是后面问的一些跟测试关系比较深的问题答的都不算特别好。

哦对了,还有一个插曲,问了我一个linux命令

问如果想把一个文件移动到另一个文件夹里面去,用什么命令

我张口就来:rm!!!

说完之后,我感觉对方似乎愣了一下

我自己也反应过来,口快说错了,马上纠正说是move,命令是mv

该说不说,面试的小乌龙也太好笑了吧!同时在这里也为各位准备了一份软件测试方面的资料,应该对各位会有帮助!

全网首发-涵盖16个技术栈

  • 第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)
  • 第二部分,Linux( Linux基础+Linux练习题)
  • 第三部分,MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)
  • 第四部分,Web测试
  • 第五部分,API测试
  • 第六部分,App测试
  • 第七部分,管理工具
  • 第八部分,Python基础(Python基础+编程题+集合+函数+Python特性等等)
  • 第九部分,Selenium相关
  • 第十部分,性能测试
  • 第十一部分,LordRunner相关
  • 第十二部分,计算机网络
  • 第十三部分,组成原理
  • 第十四部分,数据结构与算法
  • 第十五部分,逻辑题
  • 第十六部分,人力资源

软件测试基础

  • 软件测试的步骤是什么?
  • 如何录制测试脚本?
  • 应该考虑进行如何测试的测试方法
  • 怎样估计测试工作量?
  • 测试设计的问题
  • 当测试过程发生错误时,有哪几种解决办法?
  • 测试执行的问题
  • 测试评估的目标
  • 如何提高测试?
  • C/S模式的优点和缺点
  • B/S模式的优点和缺点

Linux

  • grep和find的区别? grep 都有哪些用法?
  • 查看IP地址?
  • 创建和删除一个多级目录?
  • 在当前用户家目录中查找haha.txt文件?
  • 如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
  • 动态查看日志文件?
  • 查看系統硬盘空间的命令?
  • 查看当前机器listen 的所有端口?

Python编程

  • 统计python源代码文件中代码行数,去除注释,空行,进行输出?
  • python调用cmd并返回结果?
  • 冒泡排序
  • 1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
  • 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
  • 给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
  • 判断 101-200 之间有多少个素数,并输出所有的素数
  • 一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例

MySQL

  • 你用的Mysql是哪个引擎,各引擎之间有什么区别?
  • 如何对查询命令进行优化?
  • 数据库的优化?
  • Sql注入是如何产“生的,如何防止?
  • NoSQL和关系数据库的区别?
  • MySQL与MongoDB本质之间最基本的差别是什么
  • Mysql数据库中怎么实现分页?
  • Mysql数据库的操作?
  • 优化数据库?提高数据库的性能?
  • 什么是数据的完整性?

Web测试

  • Web测试和app测试区别?
  • WEB测试环境搭建和测试方法
  • WEB测试教程
  • WEB测试要点及基本方法
  • Web测试页面总结

接口测试

  • 什么是接口
  • 如果模块请求http改为了https,测试方案应该如何制定,修改?
  • 常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
  • 描述TCP/IP协议的层次结构,以及每一-层中重要协议
  • jmeter,一个接口的响应结果如下:
  • 接口产生的垃圾数据如何清理
  • 依赖第三方的接口如何处理
  • 测试的数据你放在哪?
  • 什么是数据驱动,如何参数化?

性能测试

  • 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
  • 服务端性能分析都从哪些角度来进行?
  • 如何理解压力测试,负裁测试以及性能测试?
  • 如何判断是否有内存泄漏及关注的指标?
  • 描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
  • 简述什么是值传递,什么是地址传递,两者区别是什么?
  • 什么是系统瓶颈?

selenium

  • 如何开展自动化测试框架的构建?
  • 如何设计自动化测试用例:
  • webdriver如何开启和退出一个浏览器?
  • 什么是自动化测试框架?
  • Selenium是什么,流行的版本有哪些?
  • 你如何从命令行启动Selenium RC?
  • 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
  • 什么是Selenium Server,它与Selenium Hub有什么不同?
  • 你如何从Selenium连接到数据库?
  • 你如何验证多个页面上存在的一个对象?
  • XPath中使用单斜杠和双斜杠有什么区别?
  • 如何编写SeleniumIDE/ RC的用户扩展?
  • 如何在页面加载成功后验证元素的存在?
  • 你对Selenium Grid有什么了解?它提供了什么功能?
  • 如何从你的Java Class启动Selenium服务器?
  • Selenium中有哪些验证点?
  • 什么是XPath?什么时候应该在Selenium中使用XPath?

计算机与网络

  • 一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
  • 请简述DNS、活动目录、域的概念。
  • 10M兆宽带是什么意思?理论下载速度是多少?
  • 什么是IP地址?
  • OSI七层网络模型的划分?
  • TCP和UDP有什么不同?
  • HTTP属于哪一层的协议?
  • HTTP和HTTPS的区别?
  • cookies和session的区别?
  • HTTP的get请求和post请求的区别?
  • HTTP1.0和HTTP1.1有什么区别
  • TCP的连接建立过程,以及断开过程?
  • 客户端使用DHCP获取IP的过程?
  • 写出某个网段的网络地址和广播地址?

人力资源

  • 你的测试职业发展是什么?你自认为做测试的优势在哪里?
  • 你找工作时,最重要的考虑因素为何?
  • 为什么我们应该录取你?
  • 请谈谈你个人的最大特色。
  • 一个测试工程师应具备那些素质和技能?
  • 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
  • 为什么选择测试这行?
  • 如果我雇用你,你能给部门带来什么贡献?

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

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

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

相关文章

LLaVA 简介:一种多模式 AI 模型

LLaVA 是一个端到端训练的大型多模态模型,旨在根据视觉输入(图像)和文本指令理解和生成内容。它结合了视觉编码器和语言模型的功能来处理和响应多模态输入。 图 1:LLaVA 工作原理的示例。 LLaVA 的输入和输出:连接视觉…

大型语言模型(LLM)历史简介

在 DALL-E 2 中生成的图像。 介绍 当我们谈论大型语言模型 (LLM) 时,我们实际上指的是一种能够以类似人类的方式进行交流的高级软件。这些模型具有理解复杂上下文并生成连贯且具有人情味的内容的惊人能力。 如果您曾经与 AI 聊天机器人或虚拟助手聊天&#xff0c…

搜维尔科技:【研究】Haption Virtuose外科手术触觉视觉学习系统的开发和评估

Haption面临挑战 除此之外,外科医生有时会对骨组织进行非常复杂的手术,其中一个例子是人工耳蜗的手术植入。重要的是要避免神经或血管等危险结构受伤,并尽可能轻柔地进行手术。在外科医生能够安全、无差错地进行此类手术之前,需要…

WKWebView加载项目中网页的资源图片路径异常

问题原因,将含有html的文件通过如下方式引入到工程中: 这种处理方式,当应用程序变以后,引入的文件会被全部放在Resources目录下,而忽略你原本的文件路径信息。因此导致出问题。 解决方案: 采用如下方式引…

输入一个列表,返回手动反转后的新列表

import math def deverseHanshu(*nums):listAlist(nums)for i in range(0,math.ceil(len(listA)/2)): #math.ceil(3.14) #4clistA[-(i1)]listA[-(i1)]listA[i]listA[i]creturn listA print(deverseHanshu(45,3,89,45,56,2,22,10))#方法2 def getReverse(listAttr):resultList[…

第133天:内网安全-横向移动域控提权NetLogonADCSPACKDC永恒之蓝

案例一:横向移动-系统漏洞-CVE-2017-0146 这个漏洞就是大家熟悉的ms17-010,这里主要学习cs发送到msf,并且msf正向连接后续 原因是cs只能支持漏洞检测,而msf上有很多exp可以利用 注意msf不能使用4.5版本的有bug 这里还是反弹权…

国自然放榜在即!用这种方法或可抢先查询...

【SciencePub学术】本期热点 国自然 昨日国自然网站提示:系统将于8月20日12:00-12:30进行维护,请您避开该时间段使用,由此给您造成的不便,敬请谅解。 根据往年的经验,这预示着基金评审结果即将公布,应该就…

Apache Dolphinscheduler Standalone 部署教程

Standalone 仅适用于 DolphinScheduler 的快速体验. 如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。 如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用&…

安卓开发:基础返回按钮代码

我们在大部分页面都会配一个返回按钮。虽然实现起来非常简单&#xff0c;但是很多开发者不想动这个脑筋。这边给出通用的基础代码&#xff0c;可以直接复制粘贴使用。 <androidx.appcompat.widget.Toolbarandroid:id"id/<>"android:layout_height"wra…

Java中“final、finally、finalize”三者的区别

Java中的"final"、"finally"和"finalize"是三个不同的关键字&#xff0c;它们各自有不同的用途和含义&#xff1a; 1. final - 用于声明一个变量、方法或类是不可变的。 - 被声明为final的变量一旦被初始化后&#xff0c;其值不能被改变。 …

5、并发锁机制之synchronized

并发锁机制之synchronized i/i--引起的线程安全问题分析原因分析i的JVM字节码指令i--的JVM 字节码指令结论 解决方案 synchronized的使用加锁方式使用synchronized解决之前的共享问题方式一方式二 synchronized底层实现原理分析查看synchronized的字节码指令序列重量级锁实现之…

国富基金入股的关联性与奇瑞依赖症,大昌科技业务独立性引关注

《港湾商业观察》廖紫雯 日前&#xff0c;安徽大昌科技有限公司&#xff08;以下简称&#xff1a;大昌科技&#xff09;更新招股书并完成三轮问询&#xff0c;公司冲刺深交所创业板得到进一步进展。此前&#xff0c;2023年6月&#xff0c;大昌科技IPO获深交所受理&#xff0c;…

Qt使用开发板上的按键-思维导图-学习笔记-基于正点原子阿尔法开发板

Qt使用开发板上的按键 出厂内核设备树中注册的按键 I.MX6U设备树路径为arch/arm/boot/dts/imx6ull-14x14-evk.dts 如何看这个按键的键值对应键盘中的按键 键值宏定义是在<linux/input.h>头文件中 资源简介 ALPHA 开发板的 KEY0 按键原理图 应用实例 按键注册 正点…

浅谈【网络编程】之Unix与多路复用

目录 1、Unix域协议 2、多路复用 select poll / epol 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错&#xff0c;说的就是你&#xff0c;不用再怀疑&#xff01;&#xff01;&#xff01; 希望我的文章内容能对你有帮助&#xff0c;一起努力吧&#xff01;…

Spring理论知识(Ⅰ)——Spring分层结构,Spring模块数据访问与继承

1. Spring是什么&#xff1f; Spring是于2003 年兴起的一个轻量级的Java开发框架&#xff0c;由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层…

C和C++实现互调的方法

先解释一下C和C为什么不能直接互相调用&#xff1a; C支持函数重载&#xff0c;所以在编译的时候&#xff0c;函数名会发生变化。C语言不存在这个问题。那么在调用的时候&#xff0c;C找的是变化后的函数名&#xff0c;而C语言找的是原始的函数名。所以两者不能直接调用。 举个…

浅析KHD-厨帽检测算法从源码到实际应用的方案

厨帽检测算法&#xff0c;作为计算机视觉技术在食品安全领域的一项重要应用&#xff0c;其实际应用过程涉及多个方面。 厨帽检测算法主要基于深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;和目标检测框架&#xff08;如YOLO、Faster RCNN等&#xff…

部署webdav工具alist

1、下载部署包&#xff08;根据自己的环境下载对应包&#xff09; #进到指定目录下 cd /usr/local #下载部署包 wget https://github.com/alist-org/alist/releases/download/v3.35.0/alist-linux-arm64.tar.gz #加压包 tar zxf alist-linux-arm64.tar.gz2、进行部署安装 # 授…

海莲花活跃木马KSRAT加密通信分析

1.概述 自2023年8月至今&#xff0c;海莲花组织多次利用KSRAT远控木马对我国发起攻击。KSRAT通过HTTP协议与C&C服务器进行通信&#xff0c;每个样本都使用了不同的URL。其心跳包采用XOR算法进行加密&#xff0c;而控制指令包和数据回传包则使用了XOR以及“XORAES-128-CBC”…

Gaussian Splatting 在 Ubuntu22.04 下部署

代码:graphdeco-inria/gaussian-splatting (github) 论文:[2308.04079] 3D Gaussian Splatting for Real-Time Radiance Field Rendering (arxiv.org) 1. 禁用自带驱动 Nouveau Ubuntu 自带的显卡驱动,是非 Nvida 官方版。在后面装 CUDA 的时候,会报驱动不兼容问题。 1.…