【回馈牛客】测开学习路线——1_项目和编程语言

序言

本来下一个想更阿里Lazada面经的,但有牛油想了解测开学习路线,那我就先更一下吧,面经先放放,大家别急
我将从项目、编程语言、数据结构、数据库、计算机网络、操作系统、Linux常用命令、软件测试知识、智力题等方面详细介绍。
我本来想详细给大家写出答案的,后来想了想会有弊端:
1、会让我的面经成为八股文(哈哈哈,估计也没啥人看),不利于大家的深入学习,毕竟学习是不断学习积累的过程,不是我的一篇面经能解决的
2、我的答案不是标准,也不是权威
综上,大家按照我的知识点去准备可以覆盖到大厂80%左右测开基础知识的提问,而剩下的20%,就要大家边面试边自己拓宽自己的知识图谱了
大家按照我的知识点和提示搜索答案和总结即可,俗话说“耳听千遍不如手过一遍”,边整理边打字也有助于学习。
下面是我学习时整理的知识图谱

项目经验

  • 建议大家一定要有拿得出手的项目经验、比赛经历、实习经历,不然简历关不好过、其次前40分钟面试官就只能深挖基础知识,容易无聊
  • 没有上述经验,实在不行可以课设来凑,但一定要深化技术栈
  • 介绍项目和实习时,可以采用按照 项目名称、我的身份、项目背景、我负责工作、成果 的顺序来介绍
  • 项目介绍需要提前准备,提前熟悉你做过的项目,防止介绍的时候磕磕绊绊、而且对于自己负责工作的技术栈要特别熟悉,要会一些底层。

编程语言

楼主熟悉C++,了解PY,JAVA
建议大家【熟悉掌握】C++/JAVA,【了解】Python/Golang即可,其他多多益善
解释以下几点:

  1. 【熟悉掌握】C++/JAVA掌握比开发要求低一些,是指所有基础知识都要掌握,部分底层需要知道,但并发编程可以不了解(是加分项)
  2. 为什么【熟悉掌握】是C++/JAVA呢?首先C++由面向对象的思想,如果你对其了解,那么学其他语言就很容易了。
    其次JAVA是大部分大厂开发的主流语言,有的大厂也用JAVA编写测试用例(如京东)。只有熟悉了解至少一门高级语言,哪怕你没有其他语言经验,也能强有力的说服面试官你能学会目前岗位的其他语言
  3. 【了解】Python。从面试官了解到,目前主流编写测试用例还是py,但测试用的py比较简单,了解多线程编程更好(面试被问到过)
  4. 【了解】Golang,这是针对字节加的,毕竟字节今年招的人挺多,也是大火。字节开发主要是golang,编写测试用例有时候可能需要你大致看懂对应源码来定位问题。

因为我比较熟悉C++,所以详细给大家罗列C++知识点(有时间可以看 C++primer)


  • c++机制
  1. C++与C的区别
  2. 内存覆盖怎么回事?(频率低)
  3. 内存泄漏有哪几种情况以及如何解决
    情况:在类的构造和析构函数中未成对使用new/delete操作符;使用了野指针(未初始化的指针/指针所指地址已被释放/指针操作超越了作用域);未正确清除嵌套的对象指针等
    解决:使用智能指针(shared_ptr、weak_ptr、unique_ptr)
  4. C++与Java的区别
    执行速度、是否面向过程、指针、是否多继承、GC垃圾回收机制、是否可重载等
  5. 内存的分配方式
    静态分配、栈区分配、堆区分配
  6. 内存分配有哪些区
    堆、栈、常量区、全局区、代码区
  7. 内存分配中堆和栈的区别
    管理方式、空间大小、碎片、生长方向、分配效率
  8. C++11的新特性你知道哪些,用过哪些
    auto
    nullptr和NULL的区别
    智能指针
    并发编程
  9. c++编译过程

  • 面向过程

1.*指针/&引用的区别
内存、sizeof后大小、初始化、指向是否可变、++含义、是否有多级
2.const/define区别
定义数据类型、安全性检查、是否可调试
3.typedef/define区别
用法、所在处理过程
4.sizeof/strlen的区别
5.内存对齐是怎么回事
6.extern的作用
7.struct(c++)与class区别
默认成员权限、默认继承权限、内存
8.c++和c中的struct的区别
图片说明
9.sizeof、strlen、size、length区别
10.函数模板 template 用法
11.new/delete与malloc/free的区别
12.++i,i++的区别和源码
13.#include<>和#include""的区别


  • 面向对象

1.三大特性
封装、继承、多态
2.执行构造函数/析构函数的顺序
3.重载和重写的区别
4.虚函数介绍一下
虚函数表
5.多态方式
动态多态、静态多态
6.纯虚函数使用方法
7.C++中拷贝赋值函数的形参能否进行值传递


  • 容器STL

1.map/set的底层实现和区别
2.unordered_map/unorder_set底层
3.vector/list区别
4.迭代器用法


建议大家上面的知识点大家应该都掌握,其他的知识点不是说一定不会问,大家可以边面试,边总结,没事多啃啃c++primer,夯实语言基础。

牛客里C++工程师的面经总结大家也可以互为补充的看,我当时也是有看牛客总结

大家可以关注后续,我尽快更

最后,祝大家新年快乐呀!

#学习路径##测试开发工程师##面经#
全部评论
楼主你的项目是什么内容的呀
1 回复 分享
发布于 2022-03-25 10:45
lz好人 会持续关注您的更新的!!!!一定要继续些啊
1 回复 分享
发布于 2021-03-01 20:56
请问日常工作中需要做很多业务测试的工作吗?
点赞 回复 分享
发布于 2021-03-06 23:13
楼主很强,多谢分享,一定好好学习哈哈,成为你的粉丝啦
点赞 回复 分享
发布于 2021-03-06 17:16
楼主能分享一下知识图谱吗?
点赞 回复 分享
发布于 2021-02-27 16:00

相关推荐

11-04 12:02
门头沟学院 Java
从牛客开始,在牛客结束。我也是从看着牛客各种双非进大厂的帖子开始的。现在,我选择作为一个毕业即巅峰的小丑在这里谢幕。码字的时候,我已经入职外包公司驻场在银行有很长一段时间了。过去四年,从大厂到转内包到跳槽到外包,再一次印证了那句话:选择大于努力。如今,我决定离开这一赛道,跟完这个项目,我就会结束北上广深的漂泊,回到家乡踏踏实实的谋生。我大概是振作不起来了,心累。先声明一下,叠个甲:我就一普通人,我已经深刻认识到这一点了,我接受我是个菜鸟的事实。沦落到这一结果,都是我不够努力勤奋导致的。同样和我一样来自独立学院或者民办本科以及大专的同路人可以引以为鉴。我没能挺到下一个日出,衷心的祝愿各位前程似锦。【一、学院本以前真能进大厂,但是几乎没有上升通道】有人会问:学院本真能进大厂吗?能的,兄弟;牛客上那么多帖子;反正我毕业的时候是能的。当时的背景是,一段独角兽实习经历(直播方向)&nbsp;+&nbsp;一段外企实习经历(CI/CD&nbsp;和&nbsp;OLAP&nbsp;方向)+&nbsp;力扣100HOT有些公司网申是学历卡死的,但是内推是不卡学历的,所以大学期间内卷八股文和力扣是有用的,但是要真的很卷。但是进了其实跟没进差不多,我去的是2B赛道,而且在边缘部门,实际性质是交付的岗位。所以薪资是不算高的,按照当时的说法,年包大概25出头一点,但是我非常满意了,这也是我至今为止最高的薪酬。但是晋升资源是有限的,领导肯定是优先给学历好的,因为他们更符合“高潜”的条件。以上情况排除天选之子,还有关系户,以及人在江湖特别有实力的邪修。我们这种能吃到普调已经谢天谢地了。【二、被甲方学历歧视】想冲大厂的大家应该最关心的就是学历问题,学历歧视在职场中是什么样的。一起干活的同事之间大多数是不会care学历不学历的,大家都是来工作的,一起做事儿,打工拿钱。他们不会质疑你的能力,因为质疑你就等于质疑他们自己,更何况要维持团队氛围,合作共赢;除了某些低情商的,偶尔会遇到这种不长眼的喜欢把学历挂在嘴边,这种人远离他就好。但是学历歧视在2B领域非常常见,尤其是你的客户有自己的IT团队。2B2G赛道的乙方公司真的非常非常的坑,因为做这种业务的,它原生带有外包属性。我们学院本真需要带团队抗项目的时候,就知道高中不好好读书的后果了。甲方作为客户天生傲慢,不尊重乙方,我曾经不止一次的听到过甲方背后偷偷诋毁我自己:哎这个人我看过他资料,XX学院毕业的,不靠谱,就按照我们自己的意思来,不用管他。他们永远选择相信自己远在天边的的IT支持部门那群莫名其妙的,没有给项目提交过一行代码的架构师;无数次的驳回真正工作在一线的我的提案,我的建议,我的否定。其结果就是,说了不合理,说了不可行,说了会有影响,但是真出了问题所有的锅都得我自己背,还要加班善后。后来没办法,找+1沟通,找了个项目经理过来,我退居二线。就是这段经历,让我感觉自己的工作无限接近于外包,我意识到自己进入2B行业是错误的。2B业务和外包有什么本质区别吗?【三、转内包】自从我毕业以来,计算机就业行情一年不如一年。公司的福利不断衰减,第一年背了绩效,第二年不发年终奖。年中被要求转内包,月base降15%,换新的领导和新的项目,领导画饼说新项目好好干,年终会有保底。我信了,新项目很缺人,压力很大,初期三个月晚上回到家也在看代码,熟悉业务链路,总算是按时landing了。又要直面客户了,很烦,扛了一年,结果迟迟等不到年终奖的消息,当时内部刚好在提交晋升资料。我心想:我都混到内包了,还吃学历的亏吗,偷偷评估同事的成果,感觉自己这一年硕果累累,果断跟领导提晋升。怎么的也得把降的薪再拿回来,也是同时,AI也流行起来了。后来迟迟没有消息,我还在甲方那里忙呢,回公司一趟才知道,晋升名额取消,变成领导空降过来的嫡系。又得到了年终奖推迟的消息,我通过关系问了别的部门,说早就发完了,只有个别人有。当时就是想笑,又被当猴耍了,随即心灰意冷,休完年假裸辞了。【四、裸辞后冲击2C业务大厂失败,彻底进入失业大军】裸辞后疯玩了3个月,开始整理简历准备找工作。总结了之前的经验,我觉得是2B行业的问题。决定向2C转行,结果根本没有人理我。同时也发现自己进入不了状态了,随着近年的高强度工作,回到公寓只想睡觉,平时没有一点技术积累。看那种已经学过的框架知识非常吃力,提不起兴趣。力扣稍微刷了刷,发现以前会做的题目全忘了。投的简历也全都石沉大海,自以为简历做的很漂亮,但是HR没有反应。在网上翻了翻,Java就业一片哀嚎,看到有些经验帖子的项目和面试强度也令人瞠目结舌,手写raft协议都出来了。好不容易有了offer,但是每次谈薪被HR疯狂压,完全无法接受,argue一个小时,口水都干了,甚至争取不到0.5k。后来快过年了就几乎没有面试了,永远只有外包公司再一遍遍的问候我。想找内推,发现自己过去几年没有积累多少人脉,内推过去也说业务不合适。过年的时候花了很长一段时间刷力扣,背八股文,背场景题,但是求职没有回音,巨大的焦虑笼罩了我。卷不动了,刷了一段时间的题目八股文就忘了,每天被这些代码和文字搞得头疼。我的简历后来慢慢的就无处可投了。【五、回归外包】最后无奈开始接受外包,很简单,很轻松,随便聊一聊就被录用了。月base持平入职,但是福利待遇清零了,没有年终奖,五险一金也是最低系数,没有年假,请假扣钱,迟到扣钱。工作很轻松,因为不需要再负更多责任了,外包这个角色挺适合我的,听甲方的干活就可以拿钱了。我还挺喜欢这个环境的,再也没有人对我指手画脚了,就算有,我也可以心平气和的接受。在外包对着电脑屏幕发呆的时候,我就会想起过去的日子。一边陷入虚无,一边感叹996或许真的是福报。看着选择去车企的同学陷入了沉思,看着选择去游戏行业的同学陷入的沉思。看着老家的朋友们一个个买车,结婚,安家,我真的是碎了,感觉自己像个笑话。【六、总结】我想了很久,为什么得到了这么好的机会却没有把握住。想到的第一个因素,是运气。我是因为运气好而在校招中脱颖而出吗?还是因为勤奋提前学完了未来几年需要学习的知识?我现在觉得更多的还是运气。回顾我的第一段工作经历,我发现一切都早已被安排的明明白白。纵观全局,我大概从一开始就是个弃子,一个消耗品,我的作用就是背绩效、当脚垫和填线。技术呢,他就是个屁,业务才是王道。写代码其实大家都会,难的是做人。如果我圆滑一些,放下自尊,学会溜须拍马,学会扮丑,把甲方照顾好,或许一切都会变好。做事情,也不要用力过猛,平时只出5分力,不要急于表现自己,要做潜龙,不然会被当冤大头。对于我转内包,年终清零这些烂事,也是有预兆的。当时老员工不断被清退,技术领导被各种架空,上司和下属都在异地,一年都见不到一面,甚至连工作也几乎没有交集。内部派系林立,消息层层封锁,底层员工什么信息都不知道。成果好的团队被打散重组接手坑爹项目,成果差的团队换新项目。那时候我天真的以为,团队有充足的盈利年终奖和福利就有保障,结果被拿的一干二净。我应该早一些感受到危机,开始寻找出路。码农需要保持终身学习,我没有做到这一点,这也致使我社招失利,没能把握住每一个面试机会。还有就是后悔,选对行业真的很重要,跟着风口走,才有更多机会上升。如果我当时选择去一家车企,或者去一家游戏公司,现在是否会有所不同呢?值得一提的是,就在上周,我和前同事打游戏。他说我走的不是时候,再熬一年就好了,今年有名额,想走也不用裸辞,大概率可以给n+1。这就是命运啊。
点赞 评论 收藏
分享
评论
30
211
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务