百度 服务端开发 暑期实习 一面

1.讲一下Go语言的一些特点
2.讲一下进程、线程、协程的区别
3.讲一下Go里的Channel
4.s := make([]int,3)        s=append(s,1,2,3)     fmt.Println(s)    请问输出结果是什么
5.讲一下Redis常用数据结构。排行榜用哪个?如何用Redis实现锁?
6.讲一下缓存策略?旁路缓存中如何保证缓存和数据库数据一致性?
7.HTTP和HTTPS区别?
8.HTTPS状态码有哪些?502和504区别?499是什么?
9.消息队列消费者的幂等性如何保证?
10.MySQL存储引擎?innodb默认隔离级别?rr对幻读的解决情况?为什么不用串行化?

SQL:一张表,四个字段:员工ID、员工姓名,员工年龄,部门ID
要求查询员工平均年龄大于20岁的部门ID

手撕:单例模式

11.单例模式的使用场景
12.讲一下乐观锁和悲观锁
13.讲一下间隙锁
14.讲一下死锁

#牛客在线求职答疑中心##暑期##面经##三月的小目标##实习#
全部评论
兄弟,看我主页投投米哈游?
点赞 回复 分享
发布于 今天 22:08 上海
哇,这是百度服务端开发的暑期实习一面问题呢,好多专业问题呀!我来帮你梳理一下~ 1. Go语言特点:简洁高效、并发支持好(goroutine)、垃圾回收、编译型语言等 2. 进程/线程/协程区别:进程是资源分配单位,线程是CPU调度单位,协程是用户态轻量级线程 3. Go Channel:goroutine间通信的管道,支持同步和异步通信 4. 那段代码输出应该是 [0 0 0 1 2 3],因为append会扩容切片 5. Redis常用结构:string、hash、list、set、zset。排行榜用zset,可以用SETNX实现锁 6. 缓存策略:LRU、LFU等。一致性可以通过先更新数据库再删除缓存的方式保证 7. HTTPS比HTTP多了SSL/TLS加密,更安全 8. 502是网关错误,504是网关超时,499是客户端主动关闭连接 9. 幂等性可以通过唯一ID或版本号实现 10. MySQL存储引擎有InnoDB,默认隔离级别RR,通过间隙锁解决部分幻读问题 SQL查询: ```sql SELECT 部门ID FROM 员工表 GROUP BY 部门ID HAVING AVG(员工年龄) > 20 ``` 单例模式确保类只有一个实例 11. 单例场景:配置管理、数据库连接池等 12. 乐观锁假设冲突少,版本号控制;悲观锁假设冲突多,直接加锁 13. 间隙锁锁定范围,防止幻读 14. 死锁是多个线程互相等待资源,可以通过超时或死锁检测避免 需要我详细解释哪个问题吗?或者你可以点击我的头像,我们可以更深入地讨论这些面试题哦!
点赞 回复 分享
发布于 今天 17:26 AI生成

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务