当前位置: 首页 > 面试经验 >

给我拷打红温了,24校招字节跳动-测试开发工程师二面(下)

优质
小牛编辑
78浏览
2024-03-19

给我拷打红温了,24校招字节跳动-测试开发工程师二面(下)

大家好,我是chowley

本篇来记录一下我之前参加「字节跳动」-「测试开发工程师」的第二次技术面试过程,针对其中一些问题给出了我的答案。

部门:番茄小说-shenzhen

时间:50min

平台:飞书

过程

  1. ADB辅助测试活动做了哪些?

    a. 安装和卸载应用程序: 可以使用ADB命令安装和卸载应用程序。

    b. 启动和停止应用程序: 可以使用ADB命令启动和停止应用程序。

    c. 发送键事件: 可以使用ADB命令发送各种键事件,如点击、滑动等,以模拟用户操作。

    d. 录制和回放操作: 可以使用ADB命令录制用户操作,并进行回放,用于自动化测试。

    e. 查看日志信息: 可以使用ADB命令查看设备和应用程序的日志信息,用于排查问题和分析性能。

    f. 文件传输: 可以使用ADB命令在设备和计算机之间传输文件。

  2. 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>,用于查看指定应用程序的网络使用情况。

  3. ADB是消息通道

  4. 监听了哪些操作?

    a. 日志信息: 使用adb logcat命令可以监听设备的日志信息,包括应用程序的运行日志、系统日志等。

    b. 事件信息: 使用adb shell getevent命令可以监听设备的事件信息,如触摸事件、按键事件等。

    c. 网络状态: 使用adb shell dumpsys netstats命令可以监听设备的网络状态,包括网络使用情况等。

    d. 应用程序状态: 使用adb shell dumpsys activity命令可以监听设备上应用程序的状态,如运行状态、堆栈信息等。

    e. 内存信息: 使用adb shell dumpsys meminfo命令可以监听设备的内存使用情况,包括应用程序的内存占用情况等。

  5. 游戏发版流程咋做的?

    a. 版本规划: 确定新版本的功能和改进,制定版本开发计划。

    b. 开发与测试: 开发团队根据规划实现新功能,并进行内部测试,包括单元测试、集成测试和系统测试。

    c. 灰度测试: 将新版本部分用户,通常是小部分用户,进行测试,以确保新版本稳定性和兼容性。

    d. 发布: 将通过测试的新版本发布到线上环境,供所有用户下载和使用。

    e. 监控与反馈: 发布后,持续监控新版本的性能和用户反馈,及时处理bug和问题。

    f. 迭代优化: 根据监控和反馈结果,进行版本迭代和优化,不断提升用户体验和产品质量。

  6. Android是咋控制百分之5的灰度?

    通过Google Play Console的发布管理功能实现。在发布新版本时,可以选择将新版本发布给指定的一小部分用户,从而进行灰度测试。随后,根据测试结果,可以逐步增加灰度比例,直至完全发布给所有用户。

  7. 怎么实现灰度放量?

    a. 确定放量策略: 确定放量的比例和递增步长,如每天增加百分之5的用户。

    b. 监控和反馈: 放量后,持续监控新版本的性能和用户反馈,及时发现和解决问题。

    c. 逐步增加比例: 根据监控和反馈结果,逐步增加放量比例,直至完全发布给所有用户。

    d. 紧急回滚: 如果放量过程中发现严重问题,及时回滚到上一个稳定版本。

  8. 分发用户,在技术上的操作?

    a. 用户分组: 根据需求和策略,将用户分为不同的组别,如测试用户组、内部员工组、外部用户组等。

    b. 版本控制: 确定要发布的版本,并控制版本的发布时间和范围。

    c. 分发方式: 根据分组情况选择合适的分发方式,可以是通过应用商店(如Google Play、App Store)、推送服务(如Firebase Cloud Messaging、APNs)等方式进行分发。

    d. 发布控制: 控制发布的速度和范围,可以采用灰度发布、AB测试等方式逐步扩大发布范围。

    e. 监控和反馈: 发布后持续监控用户的使用情况和反馈,及时处理问题和改进。

  9. 灰度系统是咋实现的?

    a. 分布式系统设计: 灰度发布需要考虑分布式系统的设计和部署,保证灰度发布的可靠性和稳定性。

    b. 流量控制: 通过流量控制和负载均衡技术,控制不同灰度发布阶段的流量比例。

    c. 动态配置: 使用动态配置管理工具,实现灵活的灰度发布策略和配置管理。

    d. 监控和反馈: 使用监控工具和数据分析技术,实时监控灰度发布的效果和用户反馈,及时调整发布策略。

  10. hotfix发版是版本覆盖还是动态插件下发的形式?

    hotfix发版通常是版本覆盖的形式。在发现线上问题需要紧急修复时,开发人员会进行代码修复并生成新的版本,然后通过版本覆盖的方式将修复后的版本发布到线上,以快速解决问题。

  11. 手撕:三数之和

  12. 反问

总结

难度:4/5,面试官从我的经历入手,持续询问底层原理,如果不是真的有切身体会和研究,真的很难给出满意的答案

面试官专业程度:专业,技术覆盖面很广,对我的经历形成了全包围

体验打分:4/5,虽然被拷打的浑身发热,但这次经历让我对过去的经历有了更清晰的认识,也知道了自己应该在哪方面继续加强,感谢!

好了,以上就是本文的全部内容,如有问题可留言讨论。

本人正在组建校招测试开发方向的交流社区,如果您对测试求职方面感兴趣,欢迎加入了解。

我是chowley,一个专注互联网技术和产品质量保障领域的博主,我们下次再见!

欢迎点赞、评论、收藏,it's important for me.

Searching for QALog.

#软件开发2024笔面经##字节##测试开发##校招##春招#
 类似资料: