2024后端开发面试题总结

一、前言

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

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

二、项目篇

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

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) {//......
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/386243.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全栈嵌入式C++、STM32、Modbus、FreeRTOS和MQTT协议:工业物联网(IIoT)可视化系统设计思路(附部分代码解析)

项目概述 随着工业4.0时代的到来,工业物联网(IIoT)在提高生产效率、降低运营成本和实现智能制造方面得到了广泛应用。本项目旨在开发一个全面的工业物联网监控系统,能够实时监测设备的温度、压力、振动和电流等参数,并…

谷粒商城实战踩坑笔记-Service循环依赖

文章目录 1. 使用 Lazy 注解2. 使用 PostConstruct 注解3,补充循环依赖相关知识循环依赖的原因举例说明 4,Lazy 的工作原理 启动项目失败,原因是出现了循环依赖。 The dependencies of some of the beans in the application context form a …

PP 6 成本中心 活动类型 以及两者的关联

成本中心创建:KS01 保存即可 活动类型:KL01 (有准备,机器,工时等) 保存 KP26:活动类型和成本中心的关联

如何在Net8.0平台下开发AOT项目,项目实战分析

1. 前言 前面的文章我们讨论过什么是AOT,以及AOT适用于什么场景, dotnet开发编译之争:Ahead-of-Time(AOT) vs Just-in-Time(JIT)谁才是未来最佳编译选择?,那么如何在Net8.0平台下开发AOT项目。 2. 先决条件 在安装的…

搞懂数据结构与Java实现

文章链接:搞懂数据结构与Java实现 (qq.com) 代码链接: Java实现数组模拟循环队列代码 (qq.com) Java实现数组模拟栈代码 (qq.com) Java实现链表代码 (qq.com) Java实现哈希表代码 (qq.com) Java实现二叉树代码 (qq.com) Java实现图代码 (qq.com)

【讲解下ECMAScript和JavaScript之间有何区别?】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

swagger-ui.html报错404

问题1:权限受限无法访问 由于采用的Shiro安全框架,需要在配置类ShiroConfig下的Shiro 的过滤器链放行该页面:【添加:filterChainDefinitionMap.put("/swagger-ui.html", "anon");】 public ShiroFilterFact…

C# dataGridView 去掉左边多出来空列

1.问题 在使用winform做界面程序时,dataGridView控件创建好后,左侧会多出一列为空,如何删除呢 2.解决方法 你可以在属性窗口中进行设置 如图: 将RowHeadersVisible 属性设置为False 或者代码设置 this.dataGridView1.RowHea…

算力共享:如何理解、标识与调控多层次算力资源的异构性和复杂性,实现智能算力网生态诸要素有效互操作?

目录 鹏程云主机和NPU计算服务器关系 NPU计算服务器 两者关系 结论 两种不同类型的处理器或计算单元 FPGA MLU NS3(Network Simulator version 3) 一、基本属性 二、主要功能与特点 三、应用与前景 对象存储和HDD存储 一、定义与特点 二、应用场景 三、总结 对…

基于深度学习网络的USB摄像头实时视频采集与水果识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 将usb摄像头对准一个播放不同水果图片的显示器,然后进行识别,识别结果如下: 本课题中…

【2025留学】德国留学真的很难毕业吗?为什么大家不来德国留学?

大家好!我是德国Viviane,一句话讲自己的背景:本科211,硕士在德国读的电子信息工程。 之前网上一句热梗:“德国留学三年将是你人生五年中最难忘的七年。”确实,德国大学的宽进严出机制,延毕、休…

PHP多场地预定小程序系统源码

一键畅游多地!多场地预定小程序的超实用指南 段落一:【开篇:告别繁琐,预订新体验】 🎉🚀 还在为多个活动或会议的场地预订而头疼不已吗?多场地预定小程序来拯救你啦!它像是一位贴心…

基于Element UI内置的Select下拉和Tree树形组件,组合封装的树状下拉选择器

目录 简述 效果 功能描述 代码实现 总结 简述 基于Element UI内置的Select下拉和Tree树形组件,组合封装的树状下拉选择器。 效果 先看效果: 下拉状态: 选择后状态: 选择的数据: 功能描述 1、加载树结构&…

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 梳理下思路 1.判断是否登录 2.课程是否存在 3.如果是回复,查看回复是否存在 4.是否有权限 5.发起评论 首先新增pydantic模型 class Cour…

Git勤勉 两种方式上传

官网 勤勉Gitea 创建仓库 上传代码 可以先取个仓库名字 给个分支的名字就可以创建了 创建好了会出现一个链接 复制这个链接 打开要上传的项目 删除.idea/target/iml文件 cmd打开小黑窗 输入这个命令 初始化 添加仓库缓存 git init git xxx 把刚刚复制的链接放上去 gi…

【深度学习】大模型GLM-4-9B Chat ,微调与部署(3) TensorRT-LLM、TensorRT量化加速、Triton部署

文章目录 获取TensorRT-LLM代码:构建docker镜像并安装TensorRT-LLM:运行docker镜像:安装依赖魔改下部分package代码:量化:构建图:全局参数插件配置常用配置参数 测试推理是否可以代码推理CLI推理 性能测试小…

pyqt designer使用spliter

1、在designer界面需要使用spliter需要父界面不使用布局,减需要分割两个模块选中,再点击spliter分割 2、在分割后,再对父界面进行布局设置 3、对于两边需要不等比列放置的,需要套一层 group box在最外层进行分割

从善如流之您最亲近人之善,肯出力之象-下学而上达

您最亲近人之善,肯出力之象,就是那个爬,甚至于跪倒在地上,抹那个下水井子。这或许就是那个马云大佬讲过的,就是从您最近距离,身边的人学习。人家为啥做的好,出色?而且您是一母同胞之…

基于微信小程序+SpringBoot+Vue的网络安全科普系统(带1w+文档)

基于微信小程序SpringBootVue的网络安全科普系统(带1w文档) 基于微信小程序SpringBootVue的网络安全科普系统(带1w文档) 优质的网络安全科普系统不仅可以单纯的满足工作人员管理的日常工作需求,还可以满足用户的需求。可以降低工作人员的工作压力,提高效…

LeetCode刷题笔记第682题:棒球比赛

LeetCode刷题笔记第682题:棒球比赛 题目: 想法: 遍历输入的列表,按照规则将分数和操作依次进行,存储在新建的列表中,最终输出列表中的元素和,代码如下: class Solution:def calPo…