朝夕光年-游戏测试开发
测试开发,开头问玩什么游戏,遇到哪些bug,你认为是怎么引起的
- lol商城bug
- 塞拉斯(11级R)
游戏中网络同步的机制
- 状态同步(State Synchronization)
- 锁步同步(Lockstep)
问项目
一次http请求过程
http请求返回内容加载的比较慢,是哪些方面的问题
- js性能太差,阻塞页面
- 某个请求慢阻塞页面的加载
- 同域名下的请求数过多导致Queueing
跨域同源 CORS
同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
非同源
- 协议不同
- 端口不同
- 主机不同
闭包
闭包,顾名思义,就是一个封闭的包裹,里面包裹着自由变量,就像在类里面定义的属性值一样,自由变量的可见范围随同包裹,哪里可以访问到这个包裹,哪里就可以访问到这个自由变量。
session 和 cookie区别
1,session 在服务器端,cookie 在客户端(浏览器)
2,session 默认被存在在服务器的一个文件里(不是内存)
3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
4,session 可以放在 文件、数据库、或内存中都可以。
5,用户验证这种场合一般会用 session
因此,维持一个会话的核心就是客户端的唯一标识,即 session id
知道哪些网络协议,分别在哪些层
各种网络设备分别在哪些层工作
TCP和UDP区别
流量控制和拥塞控制 (重点)
拥塞控制对游戏的影响,会更卡还是会好一点,是协议本身控制还是应用程序控制 (重点)
- 更卡,协议本身导致的;由于TCP协议的拥塞控制机制严重影响发包速度,市面上绝大多数网络游戏采用私有的、可靠的UDP协议
拥塞控制会更卡怎么解决 (重点)
- 私有的、可靠的UDP协议
如何用UDP实现可靠传输 (重点)
- 1、添加seq/ack机制,确保数据发送到对端
- 2、添加发送和接收缓冲区,主要是用户超时重传。
- 3、添加超时重传机制。
粘包
遇到粘包时,如何下个包不完整,把后面包的内容先缓存,再次接收完成时判断是否完整,以便确定解析或者继续接收
linux:
如何查看端口被谁占用 :
lsof -i:端口号
用户态转内核态
问用哪个语言多,答python
python中pyc文件
.pyc文件是一个可执行的字节码文件,目的是节省Python解析器翻译时间,提高运行效率。其实性能只会提高那么一丢丢,大型项目.py文件很多的话,猿人学Python测试过节省的时间就多一点
GIL
列表和元组区别,列表怎么实现的
深拷贝,浅拷贝
所谓“浅拷贝”,是指创建一个新的对象,其内容是原对象中元素的引用。(拷贝组合对象,不拷贝子对象)
所谓“深拷贝”,是指创建一个新的对象,然后递归的拷贝原对象所包含的子对象。深拷贝出来的对象与原对象没有任何关联。
编程,输出列表所有子集
一面
面试时长:62min
平时玩哪些游戏,遇到的游戏bug,你会怎么测试(讲到Jekins)
简单讲了下项目
实习的工作和学的一些东西
为什么不寻找大数据相关的工作
- 内容多,版本不兼容,学习成本高
- 岗位要求高,基本需要硕士学历(明确自己不会读研),岗位也不多
TCP和UDP的区别
- 是否面向连接
- 报文头部长度
- 拥塞控制
- 流量控制
- 超时重传
- 三次握手、四次挥手
- 传输的数据格式
- 应用场景
DDOS攻击
三次握手的过程,两次可以吗,四次可以吗
拥塞控制、拥塞控制
游戏用TCP还是UDP,如何设计一个可靠传输的的UDP(根据TCP的可靠机制实现)
进程和线程的区别
进程通信的方式
Python的多线程和GIL
保证线程安全的手段
悲观锁和乐观锁
说一下你常用的Linux命令
chmod 777(r=4,w=2,x=1),为什么是三个七(当前用户、当前用户组、其他用户)
对哪种语言比较熟悉(Python)
讲一下Python字典的底层实现
hash冲突的解决方法
分离链接法 为每个哈希槽维护一个链表,所有哈希到同一槽位的键保存到对应的链表中
Python 采用 开放地址法 ( open addressing ),将数据直接保存于哈希槽位中,如果槽位已被占用,则尝试另一个。常见的方法有 线性探测 ( linear probing )以及 平方探测 ( quadratic probing )。
图了解吗,图的存储方式,自己设计一个来存储
手撕算法:后缀表达式输出结果(用栈存操作数,遇到操作符进行计算)
二面
面试时间:63min
自我介绍
两个项目
爬虫学习过程中遇到的所有反爬问题
玩过哪些游戏,遇到哪些bug,bug可能产生的原因,你会怎么去做测试
HTTPS的加密过程,CA证书
拥塞控制对游戏的影响
粘包问题,怎么解决
list和dict的底层数据结构
列表和元组区别
python中pyc文件
深拷贝和浅拷贝
Python和Java的垃圾回收机制
HashMap和TreeMap的区别
Java注射
Java多线程怎么实现
JVM模型中哪块容易内存泄露
GIL,多线程,多线程的应用场景
只含有0-10的整数数组,怎么做压缩,压缩比是多少
手撕算法:整数数组中非出现的最小正整数,并设计测试用例
全部评论
(2) 回帖