Giter VIP home page Giter VIP logo

qa-interview's Introduction

!> 阅前必读

1. 👴 简历与面试

求职

招聘

劳动者权益与健康

2. 💻 开发技术

2.1. 计算机基础

2.1.1. 操作系统

操作系统原理与基础

  • 进程和线程区别,为什么进程切换开销比线程大?

Linux

  • 基础知识
  • linux 命令
    • 知道哪些 linux 命令?
    • 说下压缩、解压一个文件的完整命令?
    • 平时怎么查看日志?查看日志有哪些命令?
    • 怎么编写定时任务?
    • linux 中查找某个文件并删除它。
    • linux 根据端口号查找进程信息。
  • Bash

2.1.2. 计算机网络

基础理论题

  • 说下七层网络模型?

应用场景题

  • 打开一个网页都发生了哪些事?
  • 百度首页打不开,问题怎么定位?讲下定位流程。

TCP/UDP

  • 说下 TCP 的连接过程?
  • TCP 如何保证可靠性?
  • TCP 和 UDP 的区别?

DNS

  • 说下 DNS 域名解析过程?

HTTP/HTTPS

  • 介绍下 HTTP 报文结构?
  • 知道哪些 Header,含义是什么?
  • 知道哪些 http 状态码?
  • 401 和 403 的区别?403 怎么解决?
  • http 和 https 的区别?
  • 为什么 HTTPS 是安全的?证书是什么?
  • get 与 post 的区别?

2.1.3. 数据结构和算法

栈和队列

  • 简述下栈和队列?分别适合什么场景?

链表

  • 有两个有序链表,将他们组成一个有序链表。
  • 查找链表的倒数第三个数。

散列表(哈希表)

  • 给定一个列表,列表中每个元素包含两个属性 id 和 parentid,将列表转换成一棵树。
  • 计算一个给定二叉树的深度。

编程题

  • 有一组符号 ['-', '-', '+', '+', '+','-', '+','-', '+','-','-'],要求将 “+” 排到左边,“-” 排到右边。
  • 解析 json 为 kv 形式。例如 json 数据 {"a":"1","b":{"c":"2"},"d":[{"e":"3"}]},得到所有 key 和 value 的对应关系,例如 array("a"=>1, "b.c"=>2, "d.0.e"=>3)

排序算法

字符串

  • 给一个字符串,字符串里有 (){}[] 这六个符号,设计一个算法,判断这些符号是否成对匹配,即要检验这些括号是否都是成对出现的。
  • 有两个字符串类型的数字,实现一个方法将它们进行相加,并返回相加后的数值。(要考虑数据的长度问题)。
  • 判断一个字符串是否包含一个英文单词,例如 hello world 包含 hello 但是不包含 he。

动态规划

  • 计算斐波那契数列,不能使用递归。

2.1.4. 架构与设计

设计模式

  • 知道哪些设计模式?
  • 单例模式怎么实现?
  • 单例模式的使用场景?举几个例子。
  • 什么是工厂模式?

2.1.5. 中间件

服务器/网关

  • Nginx
    • Nginx 负载均衡策略?

缓存中间件

  • Redis
    • Redis 缓存更新策略?

消息中间件(消息队列)

  • RocketMQ
  • Kafka

2.1.6. 数据库

SQL

MySQL

  • 存储过程与函数
  • Q0012 MySQL 索引知道哪些?
    • 单一索引和组合索引,组合索引最左原理?
    • 数据库索引的优缺点?什么时候应该建索引?
    • 索引采用的是什么数据结构?为什么要用这种数据结构?
  • 数据库锁
    • 讲下数据库乐观锁和悲观锁?
    • 数据库会出现死锁吗?怎么避免死锁?怎么解决死锁?
  • 数据库事务

MongoDB

2.1.7. 通用语言

2.1.7.1. 正则表达式

2.2. 后端开发

2.2.1. Java

2.2.1.1. Java 基础

Java 语法

Java API

  • Q0013 浅拷贝和深拷贝的区别?深拷贝怎么实现?
  • 集合、容器
    • HashMap 的原理?哈希冲突怎么解决?
    • HashMap 和 HashTable 的区别?
  • 并发与锁
    • Java 多线程的创建方式?
    • wait 和 sleep 的区别?
    • 线程有哪些状态?阻塞和等待状态的区别?
    • 悲观锁和乐观锁?为什么乐观锁更快?两者的使用场景?举个例子?

JVM

  • 内存管理
    • 内存泄露和内存溢出的区别?
    • 内存泄露如何检测?
    • 什么是内存可见性?volatile 有什么用?
  • 类加载机制
    • 知道双亲委派机制吗?怎么破坏?
2.2.1.2. Maven
  • 类冲突有哪些解决方法?
  • 类冲突(Jar 冲突),为什么编译期没报错,运行时却报错?
2.2.1.3. Spring

Spring IoC

  • Spring @Autowired 和 @Resource 的区别?
  • Spring @Component 和 @Service 有什么区别?怎么实现的?

Spring AOP

  • Spring AOP 原理?静态代理和动态代理优缺点和应用场景?为什么动态代理慢?
  • Spring AOP 使用场景?怎么用的?

2.2.2. Python

3. 🐞 测试技术

3.1. 测试理论与基础

3.1.1. 测试用例设计

  • 什么是好的测试用例?如何评价一个用例的好坏?
  • 黑盒测试用例设计方法有哪些?你用过哪些?
  • 用例设计场景题:
    • 直播打赏。
    • 腾讯视频的播放界面。
    • B 站弹幕。
    • 微信发红包。
    • 微信支付,或者是支付宝转账。
    • 购物车。
    • 微信换头像。
    • 淘宝登录,京东登录,等登录功能。
    • 百度贴吧的发帖功能。
    • 抖音刷视频(上滑下滑播放暂停)。

3.2. 测试左移

  • 测试左移你会怎么做?

3.2.1. 代码评审

  • 怎么说服开发老大同意做代码评审,怎么跟进评估效果?
  • 代码评审发现过哪些问题?

3.3. 环境部署

3.3.1. 环境治理

  • 说下你们的测试环境?
  • 测试环境和线上环境如何保持一致?
  • 测试环境遇到了哪些问题,怎么解决的?

3.3.2. 容器技术

3.4. 用例筛选与追溯

3.5. 用例设计与执行

3.5.1. Web 端测试

自动化测试

  • 说说你对 PO 的理解?
  • UI 自动化有什么总结,知道哪些最新的技术、方向或改进方向?
  • UI 自动化稳定性如何?怎么提高稳定性?
  • Web 自动化遇到过哪些难题?怎么解决的?

Selenium

3.5.2. 服务端测试

自动化测试

  • 接口自动化关注哪些指标,怎么考核自动化?

性能测试

  • 性能测试指标有哪些?XX 指标解释一下?
  • 性能测试中什么情况内存过高,但 CPU 使用率不高?怎么排查定位问题?
  • 性能测试中什么情况 CPU 使用率高,但内存占用不高?怎么排查定位问题?
  • 如果 SQL 查询很慢,你怎么定位问题?

3.5.3. 移动端测试

性能与稳定性测试

  • 手机 App 崩溃闪退的原因?
  • 怎么测试 APP 启动时间?
  • APP 资源消耗怎么测试?比如 CPU、内存占用。

自动化测试

  • App 的测试工具知道哪些?你用过哪些?
  • UI 自动化中 WebView 怎么测试?
  • UI 测试做的是 iOS 还是 Android?讲讲 iOS 的 UI 怎么测?
  • 自动化测试中发现了哪些 Bug,举个例子?

3.6. 测试右移

  • 线上质量如何保证?

3.7. 质量度量

3.7.1. 覆盖率

3.8. 研发效能

jvm-sanbox

  • jvm-sanbox 原理?jvm-sanbox 有哪些用途?

CI/CD/DevOps

  • CI/CD 怎么做的?

4. 🏢 管理

管人、管事、管项目。

4.1. 测试管理

  • 你是如何构建质量体系的?
  • 微服务(如 dubbo)怎么测试的?
  • 你负责一个业务的测试,你打算怎么做?
  • 测试过程中有哪些风险点,怎么解决的?
  • 测试过程中怎么提高效率?

4.2. 项目管理

4.3. 团队管理

5. 🐾 工作总结/项目总结

5.1. 工作总结

  • 上家公司主要工作内容?
  • 说下你们的测试流程?
  • 什么是软件测试?说说你对测试的理解?
  • 做了多年的软件测试,你的感悟是什么?

5.2. 项目总结

业务测试

工具开发

5.3. 亮点难点

  • 你的亮点是什么?自己解决的最亮点的技术难点是什么?
  • 遇到过什么难点,如何解决的?测试过程中遇到哪些难题,怎么解决的?

6. 👀 通用问题

6.1. 智力题

6.2. 转场反问

6.3. 自我认知/个人总结

  • 请做下自我介绍?
  • 说说你的优缺点。
  • 对自己有什么职业规划?职业发展有什么打算?
  • 自己觉得最有成绩感的一件事或做过的一个东西?
  • 最近半年有什么提升(有学习什么)?

6.4. 软实力

沟通能力

  • 工作中有没有遇到过冲突,怎么解决的?
  • 入职之后,你最讨厌或者说最不喜欢和什么样的同事打交道?

7. HR

7.1. 情况了解

  • 有没有对象/打算什么时间结婚/有没有小孩/...
  • 为什么从上一家公司离职?
  • 为什么选择我们公司?说一下对本公司的看法和期望。
  • 上家公司入职时的职级、离职时的职级?绩效怎么样(每次的绩效)?

7.2. 双向选择

  • 如何看待工作压力?之前公司的加班情况怎么样/加班常态能否接受?
  • 之前的薪资是多少?期望薪资是多少?为什么会期望这些薪资?
  • 已经找工作多久了?手中是否还有其他 offer?能说下手上现在有哪些 offer 吗?

7.3. 入职相关

  • 接收到 offter 多久可以入职?

qa-interview's People

Contributors

ly1012 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

qa-interview's Issues

README

https://qadoc.cn/interview?#/README

问题讨论区。

本仓库的 Issues 用做 https://qadoc.cn/interview 的评论区,方便对某个面试题进行讨论。
每个问题有唯一的编号,如 Q0001,请在对应问题的 Issue 中讨论(根据 Issues 标题查找,如问题 Q0001 的 Issue 标题就是 Q0001)。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.