小黑盒 | 后端开发 | 一面,二面,三面,HR面(OC)

前言

脉脉投递,12月16日一面,之后中间补了一次笔试题,笔试难度比较大,做的很烂,但是因为一面答比较好,所以破例给了二面的机会,12月30日二面,1月5日三面,1月6日HR面

一面(12月16日,40min)

自我介绍

简历项目

  1. 介绍一下简历的第一个项目?
  2. 项目中的Feed功能是怎么实现的?
  3. Feed推送用的是拉还是推方案?
  4. 项目中的签到功能是怎么实现的?
  5. 为什么要使用BitMap?
  6. Redis 分布式锁是怎么实现的?
  7. Lua脚本释放锁的流程?
  8. 热点数据缓存的添加是如何实现的?
  9. pipeline和redis事务的不同?
  10. 读取缓存的策略是怎么样的?
  11. 介绍一下简历的第二个项目?
  12. 渐进式 rehash 扩容机制的实现?

MySQL

  1. 使用索引查询完整数据过程?
  2. 什么是乐观锁和悲观锁?
  3. MySQL中乐观锁是如何实现的?

反问

  1. 部门的业务?
  2. 部门的技术栈?

二面(12月30日,50min)

自我介绍

实习项目(25min)

MySQL

  1. 聚簇索引和非聚簇索引的区别?
  2. 回表的代价有哪些?
  3. 什么时候采用全表扫描的方式,什么时候使用采用 二级索引 + 回表 的方式去执行查询呢?
  4. 如何避免回表查询或者二次查询?
  5. PostgreSQL数据库和MySQL数据库事务的区别?
  6. SELECT <字段列表> 查询效率会比SELECT * 查询效率高出多少?(具体计算一下)

Redis

  1. 使用Redis Set数据结构去重的优缺点?
  2. 使用布隆过滤器去重的优缺点?
  3. 布隆过滤器的误判率如何解决优化?

代码

  1. 给了一段代码,解释这段代码的含义和有哪些问题?

其他

  1. 有没有参加过ACM或者打过算法比赛?
  2. 有没有了解过小黑盒?

反问

  1. 部门的业务?(游戏社区)
  2. 部门的技术栈?(Python + Go)

三面(1月5日,30min)

自我介绍

其他

  1. 为什么从第一家实习公司离职?为什么来了字节实习?
  2. 实习期间对自己的最大成长是什么?
  3. 实习期间遇到的最大的困难是什么?
  4. 为什么选择投递小黑盒?
  5. 对工作时长有什么看法?
  6. 最近2个月都在学习哪些技术?

数据结构

  1. 平时最常用哪些数据结构?
  2. 什么是平衡二叉树?
  3. 了解哪些平衡二叉树?

Redis

  1. 看过Redis的哪些源码?
  2. 跳跃表的底层实现?
  3. 为什么Redis选择跳表而不用平衡树这些?

算法

  1. 给定一个数组,在数组中找出3个数使得它们和为k。(多种解法实现,并分析每一种解法的时间复杂度)
  2. 讲一下KMP算法的实现思路?

反问

  1. 部门的业务?(游戏社区)
  2. 部门的技术栈?(Python + Go)
  3. 面试结果什么时候可以出来?(一周以内)

HR面(1月6日,30min)

自我介绍

实习经历

校园经历

反问

#春招##小黑盒#
全部评论
佬,算法是在牛客平台写吗? 写多种吗
点赞 回复 分享
发布于 03-04 13:53 江西
这是实习吗
点赞 回复 分享
发布于 2023-12-08 15:01 北京
哥笔试题都什么内容啊?
点赞 回复 分享
发布于 2023-12-07 11:52 辽宁
楼主这些都会嘛
点赞 回复 分享
发布于 2023-11-20 18:43 吉林
楼主最后去哪了
点赞 回复 分享
发布于 2023-02-10 18:41 云南

相关推荐

03-11 10:12
已编辑
东莞理工学院 Java
📍面试公司:小黑盒🕐面试时间:03/05💻面试岗位:golang后端开发❓面试问题:1.&nbsp;描述一次完整的HTTP请求全过程(从浏览器输入网址到页面渲染)2.&nbsp;访问企业官网域名时,解析到的IP是否直接是后台服务器IP,中间是否有其他逻辑3.&nbsp;阐述HTTP1.0、HTTP1.1、HTTP2.0、HTTP3.0的区别与优化点4.&nbsp;同一路由器下多台电脑访问同一服务器,服务器如何精准返回数据到请求的电脑5.&nbsp;操作系统中进程和线程的区别6.&nbsp;分别阐述进程间通信和线程间通信的方式、具体应用及相关命令/函数7.&nbsp;执行Ctrl+C后程序退出,中间发生了什么;Ctrl+C是否一定能终止程序,何种情况无法终止8.&nbsp;查看Linux系统端口占用情况的命令9.&nbsp;简述Git中rebase和merge的区别10.&nbsp;描述关系型数据库ACID事务特性,结合项目说明使用场景及未使用的隐患11.&nbsp;MySQL千万级大表使用offset分页遍历会出现什么问题,如何解决12.&nbsp;建立MySQL联合索引需要注意哪些事项13.&nbsp;如何判断MySQL查询语句命中的索引14.&nbsp;设计学校、班级、学生表结构,并编写SQL查询每个班级学生的平均身高15.&nbsp;如何看待Java和Go语言的区别,个人使用倾向性16.&nbsp;描述Go语言GMP调度模型17.&nbsp;Go程序出现goroutine卡死不调度的排查思路18.&nbsp;Go语言中P的数量由什么控制19.&nbsp;Go程序中所有函数入参和返回值都用指针传递会导致什么问题20.&nbsp;如何理解Go语言“通过通信来共享内存,而不是通过共享内存来通信”的设计理念,Go如何实现21.&nbsp;Go语言中channel的底层数据结构22.&nbsp;Go语言中空接口和非空接口的区别23.&nbsp;项目中Redis&nbsp;Pipeline批量操作与MGET/MSET批量操作的区别24.&nbsp;简述分布式事务TCC的思想,结合项目说明应用场景25.&nbsp;风控机制中规则引擎和Apollo的具体功能26.&nbsp;Kafka消息生产和消费的顺序是否一定一致,如何保证消息顺序性27.&nbsp;日常工作中如何保证代码上线不出问题28.&nbsp;实习过程中遇到的最棘手的技术问题及解决过程29.&nbsp;C端业务开发中收获的产品思维与用户体验设计经验30.&nbsp;与产品/运营沟通需求时,遇到不切实际的改动如何沟通处理31.&nbsp;日常工作中如何看待和使用AI模型辅助开发🙌面试感想:问的东西有点难,不过还是有收获的,还是有些问题比较非常规的
发面经攒人品
点赞 评论 收藏
分享
评论
16
108
分享

创作者周榜

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