OPPO后端面经分享
1. 编写测试脚本时使用的测试方法有哪些?包括边界条件验证、参数验证和业务需求验证。
2. 消息队列的定义和用途是什么?Linux进程和线程的区别有哪些?32位系统和64位系统的区别体现在哪些方面?
3. Linux下的锁类型包括哪些?如何避免死锁?
4. static、final、finally、finalize关键字/方法的作用范围、主要功能、使用场景和注意事项分别是什么?
5. 线程池和IO模型包括哪些?阻塞IO、非阻塞IO、异步IO和IO多路复用的区别是什么?
6. 网络模型的层级、功能和对应OSI层分别是什么?TCP和UDP的区别有哪些?
7. Linux下查看文件内容和特定行的方法有哪些?
8. 单元测试的方法有哪些?如何保证正确分支和异常分支都被测试到?如何保证代码研发质量的工具和方法有哪些?
9. 分布式事务的处理方案包括哪些?如何处理服务协议变更?
10. 通信协议和序列化协议有哪些?长轮询的使用场景是什么?