搜狐-新闻-面试经验

以下内容来自于应聘者回忆整理

很多同学都想得到搜狐的实习或者校招机会。那从过来人的角度谈谈,要通过搜狐的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。

【一面】

针对笔试和简历提问了一些基础问题

【二面】

总体情况:面试官技术经理就比较偏架构和中间件的应用,提问了项目,主要考察了服务治理和消息队列等中间件 使用的问题。

1、消息中间件如何解决消息丢失问题

生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。此时可以选择用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,然后发送消息,如果消息没有成功被 RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txRollback,然后重试发送消息;如果收到了消息,那么可以提交事务channel.txCommit。

2、Dubbo 的服务请求失败怎么处理

对于Dubbo服务请求失败的场景,默认提供了重试的容错机制,也就是说,如果基于Dubbo进行服务间通信出现异常,服务消费者会对服务提供者集群中其他的节点发起重试,确保这次请求成功,默认的额外重试次数是2次。

3、重连机制会不会造成错误

dubbo在调用服务不成功时候,默认会重试两次。

Double的路由机制,会把超时的请求路由到其他机器上,而不是本机尝试,sodbbo的重试机器也能一定程度的保证服务的质量。

但是如果不合理的配置重试次数,当失败时候惊醒多次进行,这样在某个时间点出现性能问题,调用方再连续重复调用,系统请求变为正常值的retries倍,系统压力会大增,容易引起服务雪崩,需要根据业务情况规划好如何进行异常处理,何时进行重试。

4、对分布式事务的理解

分布式事务是指一次大的操作由不同的小操作组成的,而这些小的操作分布在不同的 服务器 上,分布式事务需要保证这些小操作要么完全地执行,要么完成地不执行。

5、深入分析几个设计模式

6、不定长字符串转为定长字符串

如果 被转换的 字符串的长度为a,转换后的长度为b
那么由字符的范围c可知,a能表示的各种组合为 c的a次方,b能表示的各种组合为c的b次方
当 a>b 的时候,将所有可能出现的字符串都进行转化,无论转换的方式为什么
那么必然有超过2个源字符串指向了同一个目标,那么目标还原的时候就不知道是哪一个了
所以说 MD5本身不是加密算法,是签名算法!!这个很重要!

总结:面试过程中要保持清醒,不要有思 维定式。

想要更多搜狐实习、校招的机会,请点击这里

  • 1、刺猬实习遵循行业规范,任何转载的稿件都会明确标注作者和来源
  • 2、刺猬实习的原创文章,请转载时务必注明"来源:刺猬实习",不尊重原创的行为刺猬实习或将追究责任
  • 3、作者投稿可能会经刺猬实习编辑修改或补充。

相关推荐