8.15 一面
自我介绍
实习项目介绍
(边界情况,测试手段,项目整体架构、底层、用的中间件、数据存在什么地方,调度逻辑流转)
学校项目介绍
(论文算法怎么改进的,效果提升了多少)
基础知识
Linux
Linux下进程的通信方式有哪些?
1、管道(包括匿名管道和命名管道);2、信号;3、消息队列;4、共享内存;5、信号量;6、套接字。
Linux常用命令,把一个文本文件里的“aaa”字符串全部替换为“bbb”?
数据结构
数组和链表的区别?
计算机网络
TCP协议如何保证通信可靠性?
TCP协议保证数据传输可靠性的方式主要有:校验和、序列号、确认应答、超时重传、连接管理、流量控制、拥塞控制。
TCP和UDP的区别?
JAVA和Python
String、StringBuffer、StringBuilder的区别?
Python如何拷贝一个对象?
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块1.copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
浅拷贝
在浅拷贝中,会将原对象中所有字段复制给对象副本。如果某个字段是某个对象的引用(比如,一串内存地址),那么被拷贝的是这个引用,指向元数据中该字段指向的对象;如果字段是基本类型,则复制这个字段的值。
在Python这样万物皆是对象的语言中,使用浅拷贝后,对象副本中字段和原始数据中字段都会指向同一个对象,这样的情况下,引用的对象被共享,因此,如果这些对象中的一个被修改,则改变在另外一个中可见。浅拷贝很简单,可以通过简单的完全复制位来实现,所以开销也很小。
深拷贝
另一种方法是深拷贝,这意味着原对象中的字段被解引用。和浅拷贝不同,引用不再被拷贝,而是会为引用的值创建新的对象。也就是说对于副本的改变不会影响到原始数据。copy模块中的deepcopy函数可以实现这一点。
代码题
应用类设计
测试微信发红包的功能,设计测试用例?
一、功能
红包封面:(1)不选择会有默认封面;(2)是否可以选择红包封面
红包描述:(1)在红包描述中是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号emjo,动态表情以及现场拍摄的图片等;(3)红包描述中输入自己的表情,抢红包的人是否可以正常看见;(4)红包描述中最多能有多少个字符(超过10个)。
红包金额:(1)在红包钱数和红包个数输入框中只能输入数字(测试输入红包钱数是不是只能输入数字);(2)红包里最多和最少可以输入的钱数(最多:200,最少:0.01);(3)如果直接输入小数点,那么小数点之前应该有一个0;(4)当红包钱数超过最大范围是不是有对应的提示(一对一:200,群发:20000);(5)输入钱数为0,“塞钱进红包”置灰;(6)发红包金额和收到的红包金额应该匹配(分别测试一对一和群发的场景)。
塞钱进红包,扣钱顺序:(1)主动设置优先级;(2)默认顺序(从零钱开始支付;如果零钱不足,看那种方式付钱比较充足);(3)确认的时候,自己选择付款方式。
余额不足:(1)银行卡;(2)零钱;(3)零钱通。
支付验证方式:(1)密码;(2)指纹;(3)刷脸;(4)声音;(5)免密支付。
取消发送:可以按取消键,取消发送红包;
支付成功后,退回聊天界面;
发送红包:(1)测试发送出去的红包能否撤回(可以测试转账能否撤回);(2)发送的红包别人是否可以领取,针对一对一场景,测试发的红包自己是否可以领取,群发的是否可以正常领取。
领红包:超过24小时没有领取的红包,是否还可以领取(不可以)。
红包记录:(1)在发红包界面能否看到以前的收发红包记录;(2)红包记录里的信息与实际发红包记录是否匹配。
是否可以连续多次发红包;
退款到账的时间。
电脑(PC端)是否可以抢微信红包。
二、性能
断网时,无法抢红包。
不同网速时,发红包,抢红包的时间。
发红包和收红包成功时的跳转时间。
收发红包时的耗电量。
三、兼容性
苹果、安卓是否都可以发红包,抢红包。
四、界面
发红包界面没有错别字。
抢完红包界面没有错别字。
发红包和收红包界面排版是否合理。
发红包和收红包界面颜色搭配是否合理。
群发红包后,红包收取记录界面。
五、安全性
红包呗领取以后,发送红包人的金额是否会减少,收红包人的金额是否会增加。
发送红包失败,查看余额和银行卡里的钱是否会变化。
红包发送成功,是否会收到微信支付的通知。
六、易用性
红包描述中,金额,红包个数框里是否支持复制粘贴操作。
红包描述,是否可以通过语音输入。
是否可以指纹支付,密码支付,或者免密,刷脸等。
了解Offer情况,反问
8.19 二面(已凉~)
自我介绍
实习项目介绍
功能的收益点
基础知识
String、StringBuffer、StringBuilder的区别?
StringBuffer为什么是线性安全的?
Java的切面编程了解吗?Spring的特性,AOP之类的
Linux
统计日志文件中error的个数
一个文件,打印出第二列、第二行
awk '{print $2}' test1.txt
接触过性能测试吗?
编程:比较版本号 (双指针)
对中间件了解吗?比如Redis、MQ
平时怎么用Redis的
缓存穿透、缓存击穿了解吗
Mysql 联表查询
在mysql数据库中,主要有三种连表方式,分别是:
-
外连接 outer join
-
内连接 inner join
-
交叉连接 cross join
参考:
MYSQL中的各种连表查询操作 - Endv - 博客园 (cnblogs.com)
MySQL联表查询_ABCDLEE的博客-CSDN博客_mysql联表查询
MySQL分组
MySQL进阶,索引设置,索引类型
MySQL的索引失效了解过吗
测试用例
抖音主页推荐视频
实习的收获
建议:
语言基础要打牢,review也分程度,全栈测试,都要了解