您的当前位置:首页正文

2024后端开发面试题总结

2024-11-26 来源:个人技术集锦

一、前言

        上一篇离职贴发布之后仿佛登上了热门,就连曾经阿里的师兄都看到了我的分享,这波流量真是受宠若惊!

回到正题,文章火之后,一些同学急切想要让我分享一下面试内容,回忆了几个晚上顺便总结一下,专家岗位面试主要对项目、技术和算法三个方面进行考查,有问题可以留言讨论。

二、项目篇

        项目上要从工作经历中挑有技术或业务难度的项目,这样才能吸引面试官,相应地面试官会适当做些技术或业务上的扩展来进一步考查深度,不要给自己挖坑就行。最好的办法自己尽量要先从项目上挖掘一些延伸可能点,提前做好调研,面试过程中才不至于陷入尴尬的局面。

1)营销平台建设
  • 营销架构分层都有什么?核心领域模型是什么?

  • 每满减、阶梯满减怎么支持?

  • 互动任务的类型有哪些?周期性任务怎么设计 ?

  • 营销稳定性都做过哪些事情?

  • 营销计算时比较耗费cpu,怎么解决?

2)跨境供货平台
  • 业务链路是什么?核心领域模型是什么?系统难点在哪里?怎么解决?

  • RBAC与 ABAC 区别?数据权限怎么设计?

  • DDD 思想,聚合、实体、值对象的概念?怎么识别出领域模型?DDD六边形架构解决什么问题?DDD战略设计核心点?

三、技术篇

技术上八股文考查的非常少,主要是偏并发类的场景题:

  • 怎么在最快时间内发送大量消息?

  • qps 100,数据库只有3qps,怎么保证用户侧无感访问同一个热点key?

  • 数据库:explain 索引类型优先级、range类型的优化、深分页的优化方式

  • 缓存类:redis读取key超时解决方案

  • 设计类似于 diamond(配置中心)的系统

  • 并发类:线程池原理,以及曾经遇到的坑有哪些?

  • 微信摇一摇功能的实现,要求以最快速度匹配时间接近的人?

  • 分布式锁实现的方式有几种?可能会出现什么问题?

  • 两地三中心,数据怎么同步?(订阅binlog+kafka,同时要解决数据回环问题)

  • 有没有遇到过服务挂了,但 cpu 和内存都正常的场景,假如没有遇到,可能的原因有哪些?(比如I/O瓶颈、业务线程池满、GC都可能)

四、算法篇

针对后端开发岗位,算法题难易程度普遍是:简单、中等,建议 leetcode Top150热题中等偏下即可,不要纠结于 hard 等级的题目,也没有必要。

  • 两数之和等于target,并返回满足条件两个数的索引

  • 单例线程安全一种写法

  • 核心思路使用树结构来存储,然后使用深搜的方法找到追加文件,最后将内容追加进去。

/**
* targetFile:目标文件,如/a/b/c.txt
**/
public void appendContext(String targetFile, String context) {
    //......
}

显示全文