测试开发岗位春招常见面试题汇总

序言

本贴是我在测开岗位面试中常见的面试题,以及我认为面试官会在春招常考的一些问题,大家可以针对性的复习

编程语言 C++

  • 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的区别
    智能指针
    并发编程

  • 面向过程

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.vector/list区别

数据结构

  • 十大排序
    1.冒泡排序 O(n^2) * 稳定
    适用于基本有序、数据量小序列
    2.选择排序 O(n^2)
    3.插入排序 O(n^2)(直接插入,折半插入)
    4.希尔排序 O(nlogn)
    5.归并排序 O(nlogn)
    6.快速排序 O(nlogn) * 不稳定(枢轴改进方法)
    7.堆排序 O(nlogn) * 不稳定
    8.计数排序 O(n+k)
    9.桶排序 O(n+k)
    10.基数排序 O(nk)
    重点是上面带
    的排序算法源码,以及稳定性。其余算法了解即可,会源码更佳。

  • 二叉树
    1.遍历
    前序,中序,后序遍历
    递归,非递归
    2.平衡二叉树
    插入自调整
    LL,RR,LR,RL
    3.红黑树 *(了解即可,不需要手撕)
    应用:c++ set/map java HashMap(数组+链表+红黑树)
    当链表长度太长(默认超过8)时,链表就转换为红黑树,利用红黑树快速增删改查的特点提高HashMap的性能,其中会用到红黑树的插入、删除、查找等算法。

    五大性质:
    性质1. 节点是红色或黑色。
    性质2. 根节点是黑色。
    性质3.所有叶子结点都是黑色。(叶子是NIL(值为空且黑色)节点,虚拟出来的)
    性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
    性质5.. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。黑色完美平衡

与平衡为二叉树对比(或问,为什么c++和java底层不用平衡二叉树)

图片说明

4.B、B+树
应用:操作系统的文件索引和数据库索引
性质与区别:请自己查阅

为什么说B+tree比B树更适合实际应用中操作系统的文件索引和数据库索引?
图片说明


  • BFS、DFS

数据库

  • 写一个sql语句
    推荐大家先复习完语法后刷牛客/LeadCode上的sql题,中等练完就行,要求不太高

    重点:
    增删改查
    多表查询
    排序 ORDER BY (AESC/DESC)
    聚合
    图片说明


  • 图片说明

    • 多表查询

    1.交叉连接 CROSS JOIN
    2.自然连接 NATURALC JOIN
    3.外连接 *(重点)
    左连接
    右连接

    图片说明

4.左连接时on/where 的区别

计算机网络

  • 模型 *
    七层IOS模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
    4层TCP/IP模型:网络接口层、网际层、传输层、应用层
    5层综合模型(谢希仁版):物理层、数据链路层、网络层、传输层、应用层

    各层的作用(字节、阿里问过)

  • 网络层
    1.IPv4
    1)地址格式
    点分十进制
    2)地址划分 了解
    A/B/C/D/E类

    2.网络地址转换NAT 了解
    图片说明

    3.路由传输协议
    RIP 基于距离向量的选择
    OSPF 开放 最短路径协议
    了解算法内容即可

  • 传输层
    1.TCP
    1)特点 *
    面向连接、全双工,面向字节流、可靠传输、有拥塞控制、开销大

    2)首部字段
    序号 seq
    确认号 ack
    控制位 ACK FIN SYN
    检验和(阿里问过)

    3)如何实现可靠传输 *
    校验和、排序(流量控制)、确认机制、重传机制、拥塞控制

    2.拥塞控制 *
    慢开始、拥塞避免、快重传、快恢复
    算法过程

    3.三次握手建立连接 *
    1)过程
    图片说明

    2)改成两次握手可以吗,为什么
    不可以
    3)改成四次握手可以吗,为什么
    可以,但没必要

    4.四次挥手释放连接 *
    1)过程
    2)改成三次挥手可以吗,为什么
    不可以
    3)客户端收到第二次挥手信息可以关闭监听吗,为什么?
    不可以

    5.UDP
    1)特点 *
    面向无连接、尽最大努力交付、面向报文、无拥塞控制、开销小
    2)TCP与UDP的区别 *
    图片说明
    3)TCP与UDP的应用场景
    TCP:HTTP
    UDP:直播
    QQ通信:TCP与UDP

  • 应用层
    1.HTTP *
    1)请求报文与响应报文的格式

    2)请求方法
    图片说明

    post/get的区别
    幂等、缓存、浏览器历史、安全性、可见性、size

    3)状态码
    图片说明

4)HTTP的无状态特性如何解决
cookie和session

2.cookie和session的区别

3.DNS解析过程 *

4.https *
1)http与https的区别

2)SSL通信过程(了解)

3)非对称加密与对称加密区别

5.浏览器输入url发生了什么

  • 其他常用协议有哪些
    HTTP FTP DNS SMTP DHCP 等

操作系统

  • 进程 *
    1.进程间的通讯方式 IPC
    图片说明
    2.僵尸进程是什么

当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程

3.如何解决僵尸进程

  • 线程 *
    1.线程间的通信方式
    图片说明

    2.进程与线程的区别 *
    本质、拥有资源、切换开销、共享资源程度

  • 死锁
    1.产生死锁的必要条件 *

    互斥
    不可剥夺
    请求并保持
    循环等待

    2.解决死锁的方法
    图片说明

  • 内存管理(了解)
    图片说明

Linux常用命令

一般面试官都会问:你知道哪些linux常用命令/你用过Linux系统吗

也会出一些简单的问题让大家写命令

这部分推荐大家看《Linux环境编程》——姜林美(我们学校老师出的书,当时选修课就是他上的,hhh)动手操作,然后平时多用linux系统。我当时无论课程还是项目部署都接触linux系统比较多,所以比较熟悉,大家还是多练

  • 常用命令 *
    ls 显示文件或目录
    mkdir 创建目录
    cd 切换当前工作目录
    touch 创建空文件
    echo 可以输出内容到标准输出,以空白分割字符串,并且后面增加换行
    cat 查看文件内容
    cp 拷贝文件
    mv 移动或重命名文件
    rm 删除文件

    -r  递归删除,可删除子目录及文件
    -f   强制删除

    find 在文件系统中搜索某文件
    wc 统计文本中行数、字数、字符数
    pwd 显示当前目录的绝对路径 *
    scp 复制文件从远端服务器到本机或反过来

    scp local_file remote_username@remote_ip:remote_folder
    图片说明

  • scp问题(了解)
    scp 复制后如何查看是否完全复制?

    在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。

    解决方法
    使用【md5sum命令】

  • 系统管理命令
    stat 显示指定文件的详细信息,比ls更详细
    top 动态显示当前耗费资源最多进程信息

    -n 设置信息更新次数
    -d 设置信息更新时间
    -p 显示指定的进程信息

    free 显示内存状态
    ps 显示当前进程的状态
    du 显示目录或文件的大小。
    df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息

  • vim(了解,也不常问到,但得知道)
    图片说明

  • linux三剑客(了解)
    grep *
    sed
    awk


大家如果觉得有帮助,可以一键三连 点赞、收藏、关注走一波

你们的支持是我更新的动力

#面试高频考点汇总##面经##校招##测试开发工程师#
全部评论
挺全面的,把这些吃透确实能提高不少,但实战经验也很重要呀。网易面试官邀你一起实战,三个机会,4月初截止,速来!https://www.nowcoder.com/discuss/610659
1 回复 分享
发布于 2021-03-20 12:10
浏览器里输入url里发生了什么?输入框里显示了你输入的值。🤣
1 回复 分享
发布于 2021-03-19 20:02
楼主的答案已更新: https://www.yuque.com/docs/share/a48f9628-c959-4ed2-8e9e-8b3571d8d2b8?# 《测试开发岗位春招常见面试题汇总》 需要的自取,不断更新中!!!!!!!!!!
4 回复 分享
发布于 2021-03-24 12:03
测开招人,需要内推,查看帖子, 冲鸭: https://www.nowcoder.com/discuss/618018
点赞 回复 分享
发布于 2021-03-21 06:53
强啊校友啊
点赞 回复 分享
发布于 2021-03-21 00:32
建了个22届大厂实习交流群,欢迎大家私我拉进群,纯交流不商业化,都是BAT大佬
点赞 回复 分享
发布于 2021-03-20 11:32
感觉记不住,有什么好办法么
点赞 回复 分享
发布于 2021-03-20 11:07
好强啊,插个楼,需要内推:
点赞 回复 分享
发布于 2021-03-20 00:23
大佬呆呆我😘
点赞 回复 分享
发布于 2021-03-19 21:30
哇,感觉很不错啊,我要收藏学习学习。借楼招收测试开发22届小伙伴,急缺简历,部门:阿里ICBU技术部,对测试开发感兴趣的可投hehuan.he@alibaba-inc.com。内推及时跟进流程的哦,来吧,一起做同事吧~😋
点赞 回复 分享
发布于 2021-03-19 19:10
BD
点赞 回复 分享
发布于 2021-03-19 19:09
感谢同学的整理与汇总~京东卡已经在路上啦~😉 ---------------------- 邀请大家参加春招高频面试考点整理活动呀~ 总结面试高频考点,领100元京东卡!【技术/硬件专场】 技术/硬件专场:https://www.nowcoder.com/discuss/611345
点赞 回复 分享
发布于 2021-03-19 16:38
@一只酷酷熊 求加精😁
点赞 回复 分享
发布于 2021-03-19 16:25

相关推荐

不愿透露姓名的神秘牛友
05-29 22:21
Offer1:小马智行,深圳,测试开发工程师,17.0k*16.0,Offer2:追觅科技,深圳,嵌入式工程师,18.0k*15.0,
嵌软狗都不学:各位base深圳的同事,作为也是并肩作战的一员,今天想站在管理视角,和大家开诚布公地聊一聊:从近几个月的上下班数据对比看来,我们发现一个明显的差异:深圳同事的在岗时间普遍比苏州同事短。很多深圳同事早上9点之后才到公司,晚上不到 20 点就下班了;而总部那边,20点半甚至 22 点后还有不少同事在办公室忙碌,特别是研发团队,加班更是常态。相信去过苏州的同事,对这种场景都不陌生。我很好奇,这是因为苏州工作任务太重还是咱们深圳同事效率真的高到能在更短时间内完成工作?MOVA在深圳成立分公司是为了吸引更优秀的人才贡献更多更高质的价值,公司管理层给我反馈的是深圳招到的多是行业的专家大拿,大部分都是薪资比苏州高的,而且我们办公的租金等也远高于苏州的..MOVA虽脱胎于强壮的集团母体不久,各业务板块尚未实现全面盈利,虽说公司管理层目光长远,不纠结当下的人才投入,但行业内的普遍标准是,员工创造的价值要达到公司雇佣成本的 15 倍以上。大家不妨自我审视一下,自己是否达到了这个标准?如果是抱着划水、按时打卡走人拿毛爷爷的心态那不适合来MOVA,那样过下去不但自己过得尴尬也会影响MOVA这个大船的攻城略地的速度.我并非鼓励大家盲目加班,而是倡导高效工作,拒绝无效忙碌,不要让项目进度因低效受影响,也别把精力浪费在和苏州同事拼打卡时长上,提倡更高的人效比;考虑到两地地域和交通差异,相信大家会找最适合自己发挥的工作方式(比如按时下班后1小时到家晚饭后继续未竟工作等..)大家在遵守公司规章的情况下尽情地体现自己的能力价值,为MOV!和深圳公司争光我们在这边才能更安心更有信心的工作下去;请客BU长、名部门长、项目管理和各业务单元负责人,全面梳理团队情况,及时评估成员工作负荷与成果质量,坚决清退划水害虫痕疫,践行公司价值观,相互监督,防止管理漏洞及渎职。感谢人家的理解,也请人家多担待我的直言不讳……
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
127
838
分享

创作者周榜

更多
牛客网
牛客企业服务