莉莉丝后端服务器go开发实习生一面二面挂

一面

极简版

  • 自我介绍
  • 解释一下虚拟地址是什么
  • 一个几百 G 的游戏是怎么在只有几 G 的内存上运行的?
  • 用户态怎么切换到内核态?系统调用
  • c/c++编译完后,可执行文件的结构是什么样的?
  • 进程和线程的关系
  • 算法:介绍一下排序算法,比如快排
  • 介绍一下 go 语言中的 channel
  • TCP 和 UDP
  • 数据库事务的属性
  • 除了原子性都问了一遍性质和作用
  • 事务隔离级别
  • redis 使用过那些数据结构,介绍一下持久化操作
  • 介绍一下 jwt,以及为什么使用 jwt ,有什么用?为什么以前浏览器使用的是 cookie + session ,改用 jwt 有什么好处?
  • jwt 是明文的吗?
  • 平常怎么进行并发编程
  • CA的TLS和SSL协议是什么,简述一下握手的过程?
  • 关闭已关闭的通道?
  • 读关闭的 channel 能读吗?
  • 写入关闭的 channel 能写吗?
  • 读关闭的空 channel 会发生什么?
  • 反问:如果入职主要做哪方面的工作?招聘信息上的“中台”是什么意思,后台和前台之间的中间?答:介绍工位。本质还是后台。

心路历程版

大致回忆了一下

  • 自我介绍
  • 解释一下虚拟地址是什么 这个我理解为,操作系统的内存结构和程序运行的虚拟地址,讲了虚拟内存,还提到了段页式内存地址转换 但是面试官可能想让我回答,一个几百 G 的游戏是怎么在只有几 G 的内存上运行的? 答了从磁盘调入内存,内存再淘汰不常用的数据。
  • 用户态怎么切换到内核态?系统调用
  • c/c++编译完后,可执行文件的结构是什么样的? 不知道怎么回答,但是仔细一想好像学过,就是汇编和机器指令
  • 进程和线程的关系
  • 算法:介绍一下排序算法,比如快排
  • 介绍一下 go 语言中的 channel
  • TCP 和 UDP
  • 数据库事务的属性 说完 ACID 只记得原子性和一致性,隔离性和持久性脑抽忘记了,赶紧扯点别的
  • 除了原子性都问了一遍性质和作用 只答上来一致性
  • 事务隔离级别 读未提交(Read Uncommitted): 事务可以读取其他事务未提交的数据,可能会出现脏读、不可重复读和幻读问题。 读已提交(Read Committed): 事务只能读取其他事务已提交的数据,可以避免脏读问题,但可能会出现不可重复读和幻读问题。 可重复读(Repeatable Read): 事务在同一事务中多次读取相同数据时保证结果一致,但仍可能出现幻读问题。 串行化(Serializable): 最高隔离级别,事务串行执行,避免了脏读、不可重复读和幻读问题,但降低了并发性能。 明明才看过,就忘记了,只说了前两个,还说的不是很好。其实我擅长的是说索引,这个有点不太会讲。数据库方面答得不太好
  • redis 使用过那些数据结构,介绍一下持久化操作 讲了 AOF (类似日志记录),和 RDB 快照(这个名字忘记了,功能说对的)
  • 介绍一下 jwt,以及为什么使用 jwt ,有什么用?为什么以前浏览器使用的是 cookie + session ,改用 jwt 有什么好处? 改用 jwt 有什么好处?瞎扯加密后更安全,给下面埋雷。
  • jwt 是明文的吗? 答不是明文的,是通过加密算法加密后的。但是面试官说是明文的,说我理解不太对,要再去看一下
  • 平常怎么进行并发编程 答简单说了一下怎么用 go func 开新的协程,用 channel 搞并发控制,有缓冲和无缓冲的,阻塞的情况
  • CA的TLS和SSL协议是什么,简述一下握手的过程?这个就打了前面一个问题,但是握手过程不清楚
  • 关闭已关闭的通道?panic
  • 读关闭的 channel 能读吗?可以
  • 写入关闭的 channel 能写吗?不行,panic
  • 读关闭的空 channel 会发生什么?不会,猜了一个panic,结果是零值(小问题,面试官应该不在意)
  • 反问:如果入职主要做哪方面的工作?招聘信息上的“中台”是什么意思,后台和前台之间的中间? 总结:介绍工位。本质还是后台。

插曲

刚开始的时候电脑出问题了,听不到面试官的声音。想着重进面试平台会不会好,结果退出就不让进了!

还让我评价平台使用感受,直接 0 分。然后电话联系 hr 重进

还有一点,大锅,简历上写熟悉 golang 语法写成了 熟悉 goland 语法,🤡

面试官很 nice ,一直在引导,有很多问题都很有意思,即使我答不上来也是很耐心解释,面试体验很不错。祈祷能有后续😀

二面

一面结束第二天就是的

没想到还有二面 leader 面,以为直接 hr 面了,一天没准备,特别紧张,看来不到最后一刻不能放松啊,菜狗半场开香槟😥

面试官是一个leader,比较和善,做事非常有条理,面试过程分点提前告知我

还有一个 hr 面,在等通知,感觉 leader 面回答的一般

算法

给一个数组,找出一个子数组,要求子数组中的每个数字只出现一次,输出这个子数组的长度最长是多少。

操作系统

  1. 知道那些进程调度算法?
  2. 死锁是什么?如果发生了死锁,应该怎么破解?

计算机网络

  1. http1.0 和 http2.0 有了解过吗?有什么区别你觉得?
  2. TCP 是怎么建立稳定的传输通道的?

Redis

  1. 使用过那些数据结构,怎么使用的?(菜菜项目里只会键值存储,不敢让面试官问了)
  2. Redis 是使用单线程的吗?为什么链接 Redis 使用多线程,存储操作使用的是单线程

数据库

  1. 数据库的日志有哪些?分别有什么用?
  2. 数据库的索引是什么?为什么快?
  3. 有没有定位过慢查询的问题?出现了慢查询该怎么解决?

项目拷打

省略至少 5 个问题,按着简历上一点一点的问

其他

简历上写了 ES ,面试官看到了,但是菜菜本人只在B站上学会了怎么用,不会说原理,再加上很久没用到,于是和盘托出,简单地说了一下倒排索引和分词器(学 MySQL 时想到的😥)

反问

什么时候有通知……

总结

  • 大部分问题在八股上都看过,能理解,但是面试一紧张就忘光了,很多问题只能模糊的答上个五五开,需要加强总结
  • 算法题手速太慢了,没做出来,没有一遍过,事后一看时双指针边界问题没处理好🤡
  • 😥保佑

挂😥

全部评论
jwt的载体是经过base64编码后的,当然可以解码得到信息,也可以选择其他方式编码,这也是为什么jwt不能放敏感数据的原因,如果要放则需要脱敏
7 回复 分享
发布于 2024-01-22 17:38 江苏
c/c++编译完后,可执行文件的结构是什么样的? 这个问题应该问的是elf,data,rodata,text和bss,可以把bss的好处(节省空间)说出来
2 回复 分享
发布于 2024-02-02 03:28 重庆
那个几百g的游戏,感觉是不是在问硬盘和内存的区别,您这意思好像是把几百g都加载进来了,然后让内核搞置页? 这题咋答合理啊
1 回复 分享
发布于 2024-01-23 17:19 重庆
挺基础的,有转正吗
1 回复 分享
发布于 2024-01-22 17:27 北京
强我笔试都过不了😅
点赞 回复 分享
发布于 2024-02-28 01:02 福建
楼主一面结果什么时候出的
点赞 回复 分享
发布于 2024-01-29 20:00 湖南
boss上投了简历,直接没有后续了
点赞 回复 分享
发布于 2024-01-28 09:36 香港
哥们你是25届的吧
点赞 回复 分享
发布于 2024-01-24 11:30 河南
楼主这是一面的还是二面的,还是说只用面一次
点赞 回复 分享
发布于 2024-01-23 18:53 上海

相关推荐

隔壁投了之后又被捞起来面了,以下是TimeLine6.10 投递6.12 约面6.17 一面6.26 二面6.27 三面7.1 HR面7.4 Offer一面:全程40min左右1. 自我介绍2. 开篇面试官介绍了一下这次面试的流程3. HashMap和HashTable的区别?4. 接T3,针对HashTable的问题,有没有解决方案?(ConcurrentHashMap)5. 线程和进程的区别?6. 接T5,通信方式上有什么区别?7. MySQL索引结构?8. 接T7,B树和B+树的区别是什么?9. 接T8,为什么说B+树更好做范围查询?10. MySQL事务隔离级别?11. MVCC12. 索引失效的情况都有哪些?13. Redis持久化方案?14. 缓存雪崩、缓存穿透、缓存击穿15. 讲讲TCP的三次握手和四次挥手16. 说说Linux的常用命令?17. 有没有用过Docker?说说Docker的常用命令?有自己构建过Docker镜像吗?18. 项目拷打手撕:快速排序(问了比较时使用<和<=有什么区别)反问:1. 面试官并不是Java方向的,为什么会问Java基础知识?2. 组里技术栈?(Java、Go、PHP都有,看分到哪个组)3. 后续面试流程?(2-3轮技术面+1轮hr)4. 建议?追问:1. 可能会转语言,是否接受?2. 现在在长沙吗?如果面试通过到这边来会不会有什么阻碍或者困难?面完状态10min左右状态变成业务复试二面:全程40min左右,感觉主要是手撕1. 自我介绍2. 有用过MQ对吧,那你说说怎么解决消息重传的?3. 你是怎么做消息幂等性处理的?4. 接T3,如果说Redis的key已经存入了,但是刚好消费者宕机了,怎么办?5. 建立索引的SQL语句是?6. TLS握手过程7. 手撕1:单链表有一个指针指向任意一个节点,怎么删除这个指针指向的节点,如1→2→3→4,传入2,删除2,没有头指针(回答了更改节点值,next设置为next.next,追问怎么删除最后一个节点,不会,换了道题)8. 手撕2:LeetCode199. 二叉树的右视图(写了递归,要求再写一遍非递归)闲聊:1. 什么时候能到岗?2. 是哪里人?3. 为什么会考虑来长沙这边?4. 你觉得你的优点和缺点是什么?5. 手上还有其他offer吗?反问:1. 业务面完30min左右约三面三面:1. 自我介绍2. 拷打项目3. 拷打实习4. 我现在有一个student表,我要对name简历索引,sql语句怎么写?5. 主键索引和普通索引有什么区别?6. 为什么非聚簇索引要回表?7. MySQL隔离级别?8. MySQL主从同步原理?9. binlog日志存的是什么?10. Redis缓存雪崩是个什么概念?怎么解决?11. Redis持久化方式?12. HTTP报文格式?13. HTTP和HTTPS有什么不同?14. TLS握手过程?15. 为什么是非对称加密和对称加密结合使用?能不能只使用一种?16. 面向对象三大特性17. 我现在有一个Java源代码,比如说叫xxx.java,他是如何变成一个二进制文件的能够让机器运行他的?这个中间的过程是怎么样的?18. JVM的作用是什么?19. 进程和线程的区别?20. 有没有了解过协程?跟线程的区别是什么?21. 为什么说协程为什么更轻量?22. 二进制文件加载进内存,他的分布是怎么样的?23. Linux上怎么看机器的负载?24. top命令哪些参数表示负载?25. Linux怎么看cpu的核数?26. Linux怎么查看当前目录占用了多少空间?27. 查看当前服务器建立的tcp连接,用什么命令?28. tcp滑动窗口机制是怎么样的?29. time_wait状态是什么意思?30. 为什么是四次挥手?31. 三次握手是怎么实现的?中间的ACK和SYN是怎么合并的?32. 用过docker吗?怎么做到容器间隔离的?33. 怎么构建docker镜像?34. 有了解AI吗?大模型训练过程是怎么样的?35. 有没有了解过MCP?36. 使用过什么AI工具?手撕:二叉树的层序遍历,要求null值使用*占位反问:1. 面试结果什么时候出面完状态变为HR面HR面闲聊10分钟
面试问题记录
点赞 评论 收藏
分享
评论
23
108
分享

创作者周榜

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