百度测开 面经(已offer
2.18 一面
自我介绍
能实习多久?
说一下上一段实习内容比如迭代方式之类的
测试用例:微信发朋友圈
代码:如何判断平衡二叉树?几种方法
你的常用数据库?es用过吗?
唯一索引和普通索引区别
python装饰器
浅拷贝和深拷贝
性能测试和前端自动化接触过吗?
2.19 二面
自我介绍
说一说实习
两个字符串,找到最长子串。设计测试用例
如何在一个路径里找到含关键词的文件名
后面俺忘了…
自我介绍
能实习多久?
说一下上一段实习内容比如迭代方式之类的
测试用例:微信发朋友圈
代码:如何判断平衡二叉树?几种方法
你的常用数据库?es用过吗?
唯一索引和普通索引区别
python装饰器
浅拷贝和深拷贝
性能测试和前端自动化接触过吗?
2.19 二面
自我介绍
说一说实习
两个字符串,找到最长子串。设计测试用例
如何在一个路径里找到含关键词的文件名
后面俺忘了…
全部评论
这个是暑期还是日常啊
佬,百度的手撕是acm模式还是leecode模式
那个部门铁铁
接好运
佬,来试试taobao 吗
什么时候发的oc啊
佬,口头offer和正式offer隔啦几天呀
佬没有手撕嘛
Python 装饰器、浅拷贝和深拷贝
装饰器(Decorator)
装饰器是Python中一种用于修改或扩展函数行为的工具。它本质上是一个高阶函数,接受一个函数作为参数,并返回一个新的函数。
示例:
def my_decorator(func):
def wrapper():
print("Before function call")
func()
print("After function call")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
输出:
Before function call
Hello!
After function call
关键点:
- 装饰器使用 @ 语法糖,放在函数定义的上方。
- 装饰器可以用于日志记录、权限检查、性能测试等场景。
- 装饰器可以嵌套,多个装饰器会从下往上依次执行。
浅拷贝(Shallow Copy)
浅拷贝创建一个新对象,但不会递归复制对象内部的子对象。它只复制对象的引用。
实现方式:
- 使用 copy.copy() 函数。
- 使用对象的 copy() 方法(如果对象支持)。
示例:
import copy
original = [[1, 2, 3], [4, 5, 6]]
shallow_copied = copy.copy(original)
修改浅拷贝后的对象
shallow_copied[0][0] = 99
print("Original:", original)
print("Shallow Copied:", shallow_copied)
输出:
Original: [[99, 2, 3], [4, 5, 6]]
Shallow Copied: [[99, 2, 3], [4, 5, 6]]
关键点:
- 浅拷贝只复制最外层的对象,内部的子对象仍然是共享的。
- 修改浅拷贝对象中的可变子对象(如列表、字典)会影响原始对象。
深拷贝(Deep Copy)
深拷贝会递归复制对象及其所有子对象,创建一个完全独立的副本。
实现方式:
- 使用 copy.deepcopy() 函数。
示例:
import copy
original = [[1, 2, 3], [4, 5, 6]]
deep_copied = copy.deepcopy(original)
修改深拷贝后的对象
deep_copied[0][0] = 99
print("Original:", original)
print("Deep Copied:", deep_copied)
输出:
Original: [[1, 2, 3], [4, 5, 6]]
Deep Copied: [[99, 2, 3], [4, 5, 6]]
关键点:
- 深拷贝会递归复制所有子对象,创建一个完全独立的副本。
- 修改深拷贝对象不会影响原始对象。
- 深拷贝的性能开销较大,尤其是对于嵌套层次较深的对象。
浅拷贝 vs 深拷贝
特性:复制范围,浅拷贝只复制最外层对象,深拷贝递归复制所有子对象。
特性:子对象是否独立,浅拷贝子对象是共享的,深拷贝子对象是独立的。
特性:性能,浅拷贝较快,深拷贝较慢(尤其是嵌套层次深的对象)。
特性:适用场景,浅拷贝适用于对象结构简单,无嵌套可变对象;深拷贝适用于对象结构复杂,有嵌套可变对象。
总结
- 装饰器:用于扩展函数行为,语法简洁,功能强大。
- 浅拷贝:只复制外层对象,子对象共享,适合简单对象。
- 深拷贝:递归复制所有对象,完全独立,适合复杂对象。
class Solution {
public:
bool isBalanced(TreeNode* root) {
if (root == nullptr) return true; // 空树是平衡的
// 计算当前节点的左右子树高度
int leftHeight = getHeight(root->left);
int rightHeight = getHeight(root->right);
// 检查当前节点是否平衡
if (abs(leftHeight - rightHeight) > 1) {
return false;
}
// 递归检查左右子树是否平衡
return isBalanced(root->left) && isBalanced(root->right);
}
private:
// 辅助函数:计算树的高度
int getHeight(TreeNode* node) {
if (node == nullptr) return 0;
return max(getHeight(node->left), getHeight(node->right)) + 1;
}
};
发布功能:测试发布文字、图片、视频、含位置信息、@好友朋友圈,确认发布后页面刷新,动态列表显示内容。
管理功能:可成功删除、编辑已发布朋友圈,设置朋友圈权限,操作后页面和动态列表相应更新。
互动功能:能查看点赞、评论,对朋友圈动态点赞、评论,好友收到通知,且信息显示与实际一致。
查看功能:查看朋友圈发布时间、地点、动态详情、历史记录、提醒、统计、来源、标签、链接、表情、音频,信息显示正常。
分享功能:成功分享朋友圈动态到其他平台或好友,目标端收到内容。
设置功能:设置朋友圈背景图片,屏蔽、取消屏蔽动态,操作后显示与设置一致。
佬,百度测开实习一共两面吗
相关推荐
04-02 16:17
东北师范大学 测试开发 点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享