八股文骚套路之mysql
关系型数据库和非关系型数据库的区别关系型数据库:
用表存储数据,表表之间存在外键联系,存在一对一、一对多、多对多的联系
支持ACID事务,确保数据的一致性
用SQL语言进行查询和操作
存在数据冗余,还会用索引来提高检索速度,占用空间较大
非关系型数据库:
存储数据的方式多种多样,键值型、文档型、图形型等等
性能强大,适合高并发场景
数据冗余较少,相比关系型数据库节省内存空间
ORDER BY、LIMIT、GROUP BY、HAVING 这些关键字的作用
order by:排序
limit: 限制查询返回的行数
group by:根据一个或多个列对查询结果分组
having: 用于过滤分组后的数据
相比较where:HAVING 在分组后应用条件,而 WHERE 在分组前应用条件
左链接和右链接的区别一个以左边的表为基础,确保左表中的行都出现在结果中,反之亦然
InnoDB(mysql数据库管理系统的一个存储引擎)相关索引的本质是一种排序好的数据结构
InnoDB 和 MyISAM 的区别是什么
InnoDB 支持行级锁,MyISAM只有表级锁
MyISAM 不提供事务支持 ...
八股文骚套路之Linux
inode(索引节点)unix系统中用于存储文件元数据的数据结构
index + node
inode就是用来维护某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等信息。
Linux常用指令
指令
作用
stat
查看文件的 inode 信息
ln
创建硬链接
file
查看文件类型信息
tar
压缩和解压缩
ls -l
查看某个目录下的文件或目录的权限
top
查看系统的 CPU 使用率、内存使用率、进程信息等
systemctl
查看系统服务的状态、启动、停止、重启等
Linux获取实时刷新的日志123456# 实时刷新tail -f logfile.log# 每5分钟执行一次查询(watch -n 300 表示每300s执行一次后面的命令)watch -n 300 'tail logfile.log'journalctl -f
进程相关123456789101112131415161718# 查看进程ps -ef | grep xxx# 杀死进程kill -9 PID# 查看端口号lsof -i:PO ...
八股文骚套路之测开
常用自动话测试工具SeleniumWeb自动化测试
Postman接口测试
说说对postman的理解模拟get或者post或者其他方式的请求来调试和测试接口
JmeterJenkins手机兼容性测试
系统兼容性
屏幕兼容性
型号兼容性
数据来源
软件开发流程
需求分析
指定测试计划
用例设计
用例执行
缺陷管理
测试报告
软件测试方法 *****
软件测试方法:白盒、黑盒(功能测试)、灰盒、 静态测试、动态测试
白盒测试一般可被分为静态分析和动态分析两类技术:
静态分析主要有:控制流分析技术、数据流分析技术、信息流分析技术。
动态分析主要有:逻辑覆盖率测试(分支测试、路径测试等),程序插装等。
白盒测试优点:迫使测试人员去仔细的思考软件的实现;可以检测代码中的每条分支和路径;揭示隐藏在代码中的错误;对代码的测试比较彻底
白盒测试缺点:昂贵;无法检测代码中遗漏的路径和数据敏感性错误;不验证规格的正确性。
静态测试:是一种不通过执行程序而进行测试的技术。它的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态测试:包含了程序在受控的环境下使用特定的期望结果进行正式 ...
暑期实习复盘
网易互娱游戏测试一面(1小时)
自我介绍
脑机接口具体研究内容
最近有玩过什么游戏吗回答了街头霸王6 哈迪斯
格斗游戏小众,你喜欢玩这个游戏原因是什么
为什么格斗游戏小众,为什么没有扩展开来
上手难度高,机制会比较复杂
挫败感比较强
设备成本高,缺乏便携性
兴起于街机厅
付费购买
游戏中设置机器人让玩家获得正反馈,为什么格斗游戏不能这么做
pve不是游戏的核心
即使有ai加持,操作模式死板,取巧攻略
人是各种各样的,随机性更强
moba类游戏可以盛行的原因是什么?和格斗游戏的区别在哪里?
硬件成本比较低
付费成本低,大部分免费
新手用户多,不容易被虐
社群做的很好,社交属性强
moba类游戏上手简单
格斗游戏做成免费,皮肤卖钱 会有什么问题?
可以尝试
没有人这么干的原因
制作成本比较高,圈子小 不挣钱,所以只要找准用户定位
如何向年轻人推广
加强键盘适配,降低硬件成本
简易出招模式
尝试手游格斗,让大家尝试一下
手游最近在玩什么?
穿越火线手游
爆破模式 互相配合 游戏机制有趣
其他类型 和平精英玩过没?现在为什么不玩了
手游fps ...
八股文骚套路之操作系统
八股-操作系统
内核态和用户态和系统调用根据进程访问资源的特点,把进程在系统上的运行分为用户态和内核态
用户态具有较低的数据访问权限,可直接读取用户程序的数据,而内核态拥有较高的权限,几乎可以访问计算机的任何资源,当应用程序需要执行某些特殊权限的操作的时候,会通过系统调用切换到内核态
把进程分为用户态和内核态是出于安全性和性能上的考虑
用户态和内核态之间的切换有系统调用、中断、异常三种方式
系统调用是主动用户态进程主动要求切换的一种方式,通过系统调用,应用程序可以和操作系统之间进行交互,访问操作系统底层资源(文件、设备、网络
中断是外部设备完成用户操作请求之后,向cpu发出中断信号,这时cpu会暂停执行吓一跳指令先去执行中断信号对应的程序,如果中断之前执行的是用户态程序,那么此时就自然而然的发生了用户态到内核态之间的切换
异常是cpu在执行用户态程序的时候,发生了不可知的异常,此时进程会切换到异常处理的内核相关程序中,也就切换到了内核态。
进程和线程(重要)进程和线程的基本定义,然后再让你对比一下两者
进程是计算机上正在运行的一个程序的实例
线程也被称为轻量级进程,是进程被划分为更小的 ...
八股文骚套路之数据结构
八股数据结构
b树和b+树的区别
存储方式: 节点存什么东西?(数据 索引)
节点指针: B树中的节点包含指向子节点的指针,而B+树中的内部节点只包含键值和指向下一级节点的指针 不包含指向具体数据的指针。所有的数据都存储在叶子节点中,通过叶子节点的链表顺序访问数据。
范围查询: 由于B+树的叶子节点形成了有序链表,所以在B+树上进行范围查询非常高效,只需要遍历叶子节点的链表即可
使用场景: b树节点包含数据,适用于随机访问;b+树叶子节点形成有序链表,适用于顺序访问和范围查询
图的遍历方式有哪些,生活中有什么应用?
深度优先dfs:可以用来寻找所有可能的路径(递归、回溯)
广度优先bfs:用来寻找最短路径
图的遍历还可应用与网页之间的跳转,建立网络之间的链接关系
八股文骚套路之计算机网络
面试过程中偏向与应用,所以问的比较多的也就是应用层、运输层、网络层的协议,物理层和数据链路层的东西面试基本不会被问到,所以准备面试过程中这块就不用看了。八股-网络协议
OSI七层模型物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
物理层 数据链路层 网络层 传输层 应用层
在搜索框输入www.baidu.com,发生了什么?
在浏览器中输入指定网页的 URL。
浏览器通过 DNS协议,获取域名对应的 IP 地址。
浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
TCP连接建立之后,浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭 ...
八股文骚套路之JVM
运行时数据区中包含哪些区域?哪些线程共享?哪些线程独享?【⭐⭐⭐⭐⭐】JDK1.7之前的运行时数据区包括 堆、方法区、虚拟机栈、本地方法栈、程序计数器其中堆和方法区是线程共享的;虚拟机栈、本地方法栈和程序计数器是线程私有的。Jdk1.8之后 方法区的实现变成了元空间,和运行时常量池一起被放到了本地内存
程序计数器可以看作当前线程所执行的字节码文件的行号指示器,实现代码的流程控制,还需要能让线程切换之后能恢复到正确的执行位置,自然是线程私有的
虚拟机栈除了一些本地方法是在本地方法栈中实现,其他所有java方法的调用都通过虚拟机栈实现的。栈由一个个栈帧组成,每一个方法调用的时候都会有一个栈帧被压入虚拟机栈中,每个栈帧中都保存着局部变量表、操作数栈、动态链接和方法的返回地址。
局部变量表主要存储编译期间的基本数据类型和对象引用(是指向对象起始地址的引用指针)
操作数栈放方法执行过程中产生的中间计算结果。
动态链接主要用于一个方法需要调用其余方法的场景,当一个方法要去调用其他方法,就需要把常量池里指向方法的符号引用转化为内存地址中的直接引用。
本地方法栈和虚拟机栈类似,只是里面存的是Nativ ...
八股文骚套路之Java集合
集合概述Java集合,也叫容器主要有两大接口派生而来
Collection
List(列表):有序可重复
ArrayList
Vector
LinkedList(双向链表)
Set(集合):不可重复/唯一
HashSet(无序唯一)
LinkedHashSet:底层使用LinkedHashMap实现
TreeSet(有序唯一):红黑树(自平衡排序二叉树)
Queue(队列):特定的排序规则,有序可重复
Map(映射 可以多对一,不能一对多)
HashMap:JdK1.8之前是数组+链表,JdK1.8之后在链表长度大于阈值8的时候会将链表转化为红黑树以减少搜索时间,但是在转化之前还会判断当前的哈希桶数组(用来存键值对的数组)的长度是不是小于64,如果不是,那么会先对数组进行扩容。
LinkedHashMap:在HashMap的基础上增加了一条双向链表,使HashMap的结构可以保持键值对的插入顺序
Hashtable
SortedMap
[!TIP]在 HashMap 中,主要有一个用于存储键值对的数组,这个数组被称为“哈希桶数组”或“Entry ...
八股文骚套路之Java基础
⭐ :面试中不常问到,如果面试官问到尽量能答出来,答不出来也没关系。⭐⭐ :面试中不常问到,但是如果面试官问到的话,答不出来对你的印象会减分。⭐⭐⭐:面试中会问到,答不出来面试有点悬。面试官会惊讶为什么你这也不会。⭐⭐⭐⭐:面试高频考点。⭐⭐⭐⭐⭐:面试超高频考点。四星考点和五星考点是参加十场面试,至少能有五场面试问到这些的。大家在准备面试过程中尽量把这些知识点的回答条理梳理清楚,面试官一问就开背。
🆗Java 语言的特点⭐️⭐️
语法简单,上手容易
面向对象(封装 继承 多态)
Java 虚拟机实现了 Java 语言的跨平台性
支持多线程
可靠(异常处理和自动内存管理机制)、安全(多重安全防护机制如访问权限修饰符、限制程序直接访问操作系统资源)
高效性(预编译等技术)
支持网络编程
编译与解释并存
🆗比较 JVM 和 JDK 以及 JRE ⭐️⭐️⭐️
JVM(Java Virtual Machine) Java 虚拟机是运行 Java 字节码的虚拟机
JDK(Java Development Kit) Java 开发工具包,提供 Java 的开发环境,包含 JRE
JRE(J ...