前言
是的,我一家小公司工作了整整两年时间,在入职这家公司前,也就是两年前,我就开始规划了我自己的人生,所以在两年时间里,我并未懈怠。
现如今,我已经跳槽到了字节,顺利拿下 offer。自己的情况很普通,本科文凭,没有背景,分享这次我的经历,想鼓励和我同样起点的人!
字节面试题(技术部分)
1. linux基本语句
2. http/https 协议相关
3. 沟通能力,推动工作中常见问题的能力
4.数据库修改字段,连表查询
5.过往做过项目的深入度
6.返回码及问题出处
7.接口请求方式及区别(post/get)
8.charles一直访问固定参数、打断点
9.H5测试是通过哪里看接口数据的 ,如何定位问题是前端还是后端;安卓测试和iOS测试的区别
10.怎么用jmeter做单接口测试,怎么判断总结接口的参数
11.行测题
两个沙漏,一个7分钟,一个11分钟,如何保证两个沙漏15分钟漏完?
8个球,1个球比较轻,可以用天平秤,用最快的方式秤出比较轻的球
2个蜡烛,每个蜡烛可以烧1个小时,请问怎么烧得到15分钟
12.用例设计(考虑的异常类型,覆盖度,发散度):朋友圈点赞,朋友圈评论,微信发红包(比如余额为—3,定义前后端问题),朋友圈小视频,微信转账,抖音点赞,音乐播放器页面
滴滴出行从a点到b点测试用例,抖音短视频版本升级添加点赞和评论的功能做一条case设计。
13.个人做过项目的每个模块都描述清楚。linux,adb命令,测试流程,接口测试怎么测试的这些了。
14、怎么用fiddler定位问题,比如余额为-3,怎么判断问题
15、fiddler 如何抓取https的包,如何进行弱网模拟,如何修改请求参数返回参数,如何连接手机安卓和ios(回答出代理)
16、接口入参和出参都没有改变,接口逻辑变化,该如何测试
17、liunx命令 解压缩包 查日志 日志信息过滤
18、数据库索引,关系型数据库非关系型数据库,为什么要用 非关系型数据库
19、索引了解么,简单说下索引原理 什么时候加索引 (结合业务说下什么时候用到索引 怎么使用的)
20、接口测试如何开展 怎么测试 测试方法是啥
21、并发出现问题怎么优化(看你定位问题的思路)
22、你接口自动化如何实现的
23、你说一下你项目 怎么测试的
24、还有购物车 商品数量对的,到了订单页面就少了如何定位,
25、还有购物车,结算,购物车商品都没问题 形成的支付完成的订单商品少了 怎么办,怎么定位 实际就是考察如何定位问题:
26、还问了python 的等等号和is得区别
第一件事:分清阶段,制定计划
从我大学之后,我清晰到自己的现状,也明白要想改变自己的人生,那就要懂得去规划。所以,从我实习工作开始,就已经对自己的职业生涯开始进行了一个规划,而我的规划很清晰地分成了几个阶段,也把每个阶段的目标和重心确立了下来。
-
第一阶段:0~3 年;我给自己的第一个时间就是 3 年时间,3 年完成第一次跳槽,而且需要跳到更大的平台。
-
第二阶段:3~7 年;确立自己的发展方向,自动化测试工程师、测试开发、性能测试 或者安全测试均可,但我知道,无论是朝哪个方向发展,技术知识的储备一定要系统完善。
-
第三阶段:7~未来;这个阶段,我应该完成了自己的发展方向,这个时候需要思考人生,或者继续自己的爱好,享受生活,也或者开始进行创业。
第二件事:梳理知识,重新学习
在唯品会的三年里,我为跳槽做准备,也为第二阶段的发展方向做准备,所以梳理自己的知识,让自己重新开始学习。这三年里,我从未落下过提升自己,自己的学习方向也是按照自己梳理出来的知识路线进行的,一步一步,有条不紊。
-
第一阶段 测试基础
测试基础是软件测试最重要最加分的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好是学到什么程度呢,最好是能够理解,能有自己的话表述出来
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的分类、BUG的六要素、BUG的生命周期、BUG的定义.
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
第二阶段 工具学习
软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。在这个阶段,学习工具什么的,重点在于接口测试的学习,所有的工具的学习,都是在为了接口测试的学习做铺垫。
下面我会列出需要学习的工具和知识点,按顺序学习就好。 - 简单的网络协议:TCP/UDP,HTTP/HTTPS
- Linux的基本操作和常用指令。
- MySQL数据库的基本操作和常用sql语句。
- fiddle抓包工具的使用。
- postman接口测试工具的使用。
- jmeter和loadrunner性能测试工具的使用。
第三阶段 代码学习
OK,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了。
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章。
嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐python。
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用 了!
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java。 python的话也是一样的(python现在变成主流了)
总之前期你两者二选一的学习就OK了。建议是学习python
啥?你问我学的啥。
我当然是两种都会啊。
哈哈哈哈哈哈哈,惊不惊喜!意不意外!
第三件事:勤写博客,多做笔记
合格的开发人员一定是要养成良好的学习习惯和工作习惯的,程序员为什么要勤写博客,多做笔记?理由很简单:
-
整理思维、加强理解。
-
方便未来、回顾复习。
-
记录成长。
-
锻炼写作文字组织能力。
-
跟其他人反馈、互动,别人会发现一些你发现不了的问题,提升你的思维。
第四件事:社群互动,拓宽圈子
人脉的重要性,相信每一个工作的社畜心里都清楚,而我们开发者同样也需要积累自己的人脉。所以,在唯品会的三年里,我并未只是早出晚归,整天对着电脑工作,我会利用自己的剩余时间,去参与到一些社群里,与同行交流,参加一下线下的会议或者活动是我比较直接的扩宽圈子的方式。
第五件事:懂得复盘,准备面试
我学会了复盘自己,每年给自己的一个总结,包括知识、工作、生活及情感等各个方面,是否把自己的丰富度进一步地提升了。今年是我第一阶段的第三年收尾,也给自己这三年来做个一个总结,同时也要开始开展我的跳槽计划,然后准备面试。
总结
外行对于程序员的认知很单一,也有很多刻板印象,但不管如何,作为测试人员的我们,自己一定要正视自己。如果我们连自嘲和自卑都分不清楚了,那发展也就仅限如此了。
所以,尽早规划自己,朝目标发展,才是上策之道,而不是怨天尤人,等到 30 岁后再去焦虑。
送上一句话:
如果不想成为“工具人”,就不要停下成长的步伐,打造属于自己的独特价值,具备不可替代的稀缺属性,这样才能不被淘汰,也能够在遭遇变化时,随自己所愿进行选择。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!