大家好,我是chowley
本篇来记录一下我之前参加「字节跳动」-「测试开发工程师」的第二次技术面试过程,针对其中一些问题给出了我的答案。
部门:番茄小说-shenzhen
时间:50min
平台:飞书
ADB辅助测试活动做了哪些?
a. 安装和卸载应用程序: 可以使用ADB命令安装和卸载应用程序。
b. 启动和停止应用程序: 可以使用ADB命令启动和停止应用程序。
c. 发送键事件: 可以使用ADB命令发送各种键事件,如点击、滑动等,以模拟用户操作。
d. 录制和回放操作: 可以使用ADB命令录制用户操作,并进行回放,用于自动化测试。
e. 查看日志信息: 可以使用ADB命令查看设备和应用程序的日志信息,用于排查问题和分析性能。
f. 文件传输: 可以使用ADB命令在设备和计算机之间传输文件。
ADB监控活动怎么做的?啥命令?ADB push /install
a. 查看设备状态:adb devices,用于查看设备是否连接。
b. 查看设备日志:adb logcat,用于查看设备的日志信息。
c. 监控应用程序内存使用情况:adb shell dumpsys meminfo <package_name>,用于查看指定应用程序的内存使用情况。
d. 监控应用程序CPU使用情况:adb shell top -n 1 | grep <package_name>,用于查看指定应用程序的CPU使用情况。
e. 监控应用程序启动时间:adb shell am start -W <package_name>,用于查看指定应用程序的启动时间。
f. 监控应用程序网络使用情况:adb shell dumpsys netstats detail | grep <package_name>,用于查看指定应用程序的网络使用情况。
ADB是消息通道
监听了哪些操作?
a. 日志信息: 使用adb logcat命令可以监听设备的日志信息,包括应用程序的运行日志、系统日志等。
b. 事件信息: 使用adb shell getevent命令可以监听设备的事件信息,如触摸事件、按键事件等。
c. 网络状态: 使用adb shell dumpsys netstats命令可以监听设备的网络状态,包括网络使用情况等。
d. 应用程序状态: 使用adb shell dumpsys activity命令可以监听设备上应用程序的状态,如运行状态、堆栈信息等。
e. 内存信息: 使用adb shell dumpsys meminfo命令可以监听设备的内存使用情况,包括应用程序的内存占用情况等。
游戏发版流程咋做的?
a. 版本规划: 确定新版本的功能和改进,制定版本开发计划。
b. 开发与测试: 开发团队根据规划实现新功能,并进行内部测试,包括单元测试、集成测试和系统测试。
c. 灰度测试: 将新版本部分用户,通常是小部分用户,进行测试,以确保新版本稳定性和兼容性。
d. 发布: 将通过测试的新版本发布到线上环境,供所有用户下载和使用。
e. 监控与反馈: 发布后,持续监控新版本的性能和用户反馈,及时处理bug和问题。
f. 迭代优化: 根据监控和反馈结果,进行版本迭代和优化,不断提升用户体验和产品质量。
Android是咋控制百分之5的灰度?
通过Google Play Console的发布管理功能实现。在发布新版本时,可以选择将新版本发布给指定的一小部分用户,从而进行灰度测试。随后,根据测试结果,可以逐步增加灰度比例,直至完全发布给所有用户。
怎么实现灰度放量?
a. 确定放量策略: 确定放量的比例和递增步长,如每天增加百分之5的用户。
b. 监控和反馈: 放量后,持续监控新版本的性能和用户反馈,及时发现和解决问题。
c. 逐步增加比例: 根据监控和反馈结果,逐步增加放量比例,直至完全发布给所有用户。
d. 紧急回滚: 如果放量过程中发现严重问题,及时回滚到上一个稳定版本。
分发用户,在技术上的操作?
a. 用户分组: 根据需求和策略,将用户分为不同的组别,如测试用户组、内部员工组、外部用户组等。
b. 版本控制: 确定要发布的版本,并控制版本的发布时间和范围。
c. 分发方式: 根据分组情况选择合适的分发方式,可以是通过应用商店(如Google Play、App Store)、推送服务(如Firebase Cloud Messaging、APNs)等方式进行分发。
d. 发布控制: 控制发布的速度和范围,可以采用灰度发布、AB测试等方式逐步扩大发布范围。
e. 监控和反馈: 发布后持续监控用户的使用情况和反馈,及时处理问题和改进。
灰度系统是咋实现的?
a. 分布式系统设计: 灰度发布需要考虑分布式系统的设计和部署,保证灰度发布的可靠性和稳定性。
b. 流量控制: 通过流量控制和负载均衡技术,控制不同灰度发布阶段的流量比例。
c. 动态配置: 使用动态配置管理工具,实现灵活的灰度发布策略和配置管理。
d. 监控和反馈: 使用监控工具和数据分析技术,实时监控灰度发布的效果和用户反馈,及时调整发布策略。
hotfix发版是版本覆盖还是动态插件下发的形式?
hotfix发版通常是版本覆盖的形式。在发现线上问题需要紧急修复时,开发人员会进行代码修复并生成新的版本,然后通过版本覆盖的方式将修复后的版本发布到线上,以快速解决问题。
手撕:三数之和
反问
难度:4/5,面试官从我的经历入手,持续询问底层原理,如果不是真的有切身体会和研究,真的很难给出满意的答案
面试官专业程度:专业,技术覆盖面很广,对我的经历形成了全包围
体验打分:4/5,虽然被拷打的浑身发热,但这次经历让我对过去的经历有了更清晰的认识,也知道了自己应该在哪方面继续加强,感谢!
好了,以上就是本文的全部内容,如有问题可留言讨论。
本人正在组建校招测试开发方向的交流社区,如果您对测试求职方面感兴趣,欢迎加入了解。
我是chowley,一个专注互联网技术和产品质量保障领域的博主,我们下次再见!
欢迎点赞、评论、收藏,it's important for me.
Searching for QALog.
#软件开发2024笔面经##字节##测试开发##校招##春招#