腾讯pcg测试与质量管理一面

1.自我介绍

2.测试的流程

3.bug的缺陷等级是怎么样定义的

4.如何对项目进行的自动化测试,有什么好处

5.项目中提到了零拷贝,说说他的原理

6.项目中用到了jwt,讲讲cookie和session的区别,为什么要使用jwt

7.讲讲你在项目中为什么要使用Redis,它和MySQL有什么区别

8.计算机网络的OSI七层模型

9.TCP和UDP的区别

10.RPC和HTTP的区别,相比HTTP有什么优势(这里开始胡说八道了)

11.RPC是基于什么协议实现的

12.MySQL有哪几种存储引擎,有什么特点

13.如何针对一个查询语句去优化

14.MySQL在并发情况下可能会出现的问题(指脏读、幻读、丢失修改、不可重复读)

15.讲讲MySQL在主从模式下是基于什么实现数据同步的

16.你提到是基于binlog日志实现的,它的刷盘机制是怎么样的,如果此时主库宕机会发生什么

17.SQL:三表联查,用到datetime和count最后group by一下就好

18.手撕:快排

19.职业规划

20.是否了解过目前测试前沿相关的发展

---

整体体验挺好的,这次是复活赛,比上次csig kpi面完秒挂强多了,点名批评csig

#软件开发2024笔面经##测试##面经#
全部评论
RPC相对于HTTP的优势: 1. **性能要求高**: - RPC基于二进制协议,传输效率高,延迟低,特别适合频繁、大量数据传输的场景。 2. **服务治理需求**: - RPC框架提供丰富的服务治理功能,如负载均衡、服务发现、容错处理,有助于构建可靠的分布式系统。 3. **接口规范明确**: - RPC使用IDL或其他方式定义接口,减少沟通成本,降低接口理解不一致导致的错误,便于版本管理和升级。 4. **跨语言调用**: - 一些RPC框架提供多语言支持,方便不同语言编写的服务进行远程调用,促进多语言环境下的系统集成和协作。 5. **安全性要求**: - RPC框架集成复杂的认证和授权机制,如SSL/TLS加密通信、JSON Web Token(JWT),保护系统安全,防止恶意攻击和数据泄露。
1
送花
回复
分享
发布于 04-21 15:37 广东
JWT(JSON Web Tokens)在以下场景下可能表现出色: 微服务架构和分布式系统:在微服务架构或分布式系统中,各个服务可能需要共享用户的认证信息。JWT作为一个无状态的令牌,可以在这些服务之间轻松传递,从而简化认证过程。每个服务都可以独立验证JWT的有效性,而无需依赖中央认证服务器。 跨域身份验证:JWT非常适合跨域(CORS)身份验证。由于JWT包含在请求的头部中,它可以轻松地跨多个域和子域传递。这使得JWT成为单页面应用(SPA)或前后端分离架构中身份验证的理想选择。 API授权:当你有大量的API需要保护并授权访问时,JWT可以发挥出色的作用。通过在API请求中包含JWT,服务器可以验证客户端的身份,并根据令牌中的权限信息决定是否允许访问。 单点登录(SSO):JWT可以与单点登录(SSO)解决方案结合使用,实现跨多个应用或服务的无缝身份验证。用户只需在首次登录时进行身份验证,随后可以通过JWT在其他应用或服务中自动登录。 移动应用:对于移动应用来说,JWT也是一个很好的选择。由于移动应用通常与后端服务进行通信,JWT可以作为移动应用与后端服务之间的身份验证机制。这样,移动应用可以获取JWT并在后续请求中使用,以便访问受保护的资源。 对服务器性能影响较小:由于JWT存储在客户端,并且每个请求都包含令牌,服务器不需要维护会话状态或查询数据库来验证用户身份。这有助于减轻服务器的负载,提高性能。
1
送花
回复
分享
发布于 04-21 16:25 广东
滴滴
校招火热招聘中
官网直投
基于 binlog(二进制日志)的数据库系统通常会有一套刷盘(flush)机制,用于确保数据的持久化和一致性。当数据被写入到 binlog 中时,数据库系统通常会有以下策略: 1. **异步刷盘**:数据被写入 binlog 后,可能不会立即同步到磁盘。相反,数据库系统会缓冲一定量的写入操作,并在适当的时机批量刷盘,以提高性能。这意味着,尽管数据已经被记录到 binlog 中,但在异步刷盘完成之前,数据可能仍然留存在内存中。 2. **刷盘策略**:数据库系统可能采用不同的刷盘策略,如定时刷盘、达到一定的日志量后刷盘、或者根据系统负载情况动态调整刷盘频率等。这些策略的选择通常会考虑系统性能、可靠性和数据一致性之间的平衡。 如果主库在数据写入 binlog 但尚未完成刷盘的过程中宕机,可能会发生以下情况: 1. **未刷盘数据丢失**:如果主库宕机前尚未完成 binlog 的刷盘操作,那么这部分未刷盘的数据可能会丢失。这意味着部分写入操作可能无法被从 binlog 中恢复,导致数据不一致或者丢失。 2. **数据恢复**:为了尽量减少数据丢失的风险,数据库系统通常会采取一些措施来确保 binlog 数据的可靠性。例如,可以将 binlog 写入到持久化的存储介质(如磁盘)中,并定期进行备份。在主库宕机后,可以通过 replay binlog 的方式来恢复数据。在进行数据恢复时,可能会丢失宕机前未刷盘的部分数据,但可以尽量保证数据的一致性和完整性。 3. **备库数据同步**:如果存在备库(从库),备库通常会定期从主库同步 binlog 数据,并将其应用到自身的数据副本中。在主库宕机后,可以将备库提升为新的主库,以确保系统的可用性和持续性。
点赞
送花
回复
分享
发布于 04-21 15:23 广东
def quicksort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quicksort(left) + middle + quicksort(right) # 测试代码 arr = [3,6,8,10,1,2,1] print(quicksort(arr))
点赞
送花
回复
分享
发布于 04-21 16:26 广东

相关推荐

6 19 评论
分享
牛客网
牛客企业服务