周末即将结束,回顾一下你做了多少道题目,对于面试而言,多练习自然会有所收获,毕竟多练多会。如果你遇到了不清楚的题目,不妨来到文末进行咨询。
接下来,我们再来看看别人的面试经历,看看是否有一些题目是你也遇到过的。
游戏国际海外数据与发行技术团队一面
- 自我介绍
- 手撕算法:
234、判断一个链表是否是回文结构
func isPalindrome(head *ListNode) bool {
slow, fast := head, head
for fast != nil && fast.Next != nil {
slow = slow.Next
fast = fast.Next.Next
}
var prev *ListNode
for slow != nil {
next := slow.Next
slow.Next = prev
prev = slow
slow = next
}
for prev != nil {
if head.Val != prev.Val {
return false
}
head = head.Next
prev = prev.Next
}
return true
}
56、合并区间
func merge(intervals [][]int) [][]int {
sort.Slice(intervals, func(i, j int) bool {
return intervals[i][0] < intervals[j][0]
})
merged := [][]int{}
for _, interval := range intervals {
if len(merged) == 0 || merged[len(merged)-1][1] < interval[0] {
merged = append(merged, interval)
} else {
merged[len(merged)-1][1] = max(merged[len(merged)-1][1], interval[1])
}
}
return merged
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
SQL题:牛客-每个人最近的登录日期(二)
SELECT user_id, MAX(login_date) FROM login_records GROUP BY user_id;
- 项目相关家常问题
- 有几个人做这个项目?你在其中负责什么?
- 具体说说自己负责的内容
- 什么是乐观锁?
- RabbitMQ怎么对数据库进行修改?
- 其他没抢到单的用户怎么处理呢?
- 客户端怎么收到后端的抢单的结果呢?
- MQ的生产者是用户的请求,MQ的消费者有几个?
- 如果有两个消费者会有什么问题吗?
- 项目中的Redis是缓存还是分布式锁
- 如何保证缓存和数据库的一致性?比如说更新和查询的时候分别是怎么做的?
- Redis分布式锁怎么实现的?
- Redis为什么适合做分布式锁?只是setnx命令就可以了吗?
- 为什么不适用Redis分布式锁来解决超卖问题?
- Redis除了缓存和分布式锁,还有什么应用场景?
- 系统是分布式的吗?如果是单体的其实用不到分布式锁吧?
- 压测性能提升50%,刚开始慢的瓶颈是什么?
- 50%是怎么测的?
- 起了多少个并发?
- 换了MQ就只能提升50%吗?
- 正常压测应该怎么测呢?
- 怎么确定当前的QPS是否到顶了?比如QPS是10,怎么判断10已经是极限了?要看一些什么指标呢?
- 服务是瓶颈还是数据库是瓶颈呢?
- 如果是纯内存的,这个10是不是会突破?
- 所以要不要看自己服务的CPU和内存以及DB的CPU和内存?
- 看你用过Go,Go和Java的区别是什么?
- 协程是什么?
- 平时有看过什么书吗?
- 平时兴趣爱好?
- 实习时间3个月还是6个月?
- 自己评价自己的强项是什么弱项是什么?
- 反问
游戏国际海外数据与发行技术团队二面
- 自我介绍
- 之前一面面试官说的岗位之类的都了解吗
- 面试官介绍岗位
- 询问研究方向
- 前两个项目从做到最终交付过程自己满不满意
- 项目中的RabbitMQ你觉得是解决的并发问题还是容错问题
- 用户下完单之后状态机的转换过程
- 用户知道还剩多少订单吗
- JMeter压测的是什么
- 乐观锁和Redis原子性用一个不就行了
- 上述两种方案你觉得哪个会快一些
- Redis的递减是怎么实现的?指令吗
- 对象存储存的是什么
- 实习时间
- 老师同意实习嘛
早日上岸!
欢迎关注 ❤
我的文章都首发在同名公众号:王中阳
需要简历优化或者就业辅导,可以直接加我微信:wangzhongyang1993 , 备注:博客园