25年9月东华软件 Java开发实习生线上一面

#JAVA##JAVA面经##JAVA内推#

前端这块你平时有接触吗?了解多少?

“有系统接触:掌握HTML5/CSS3/ES6基础,能独立开发响应式页面;深入使用Vue2(含Vue Router、Vuex),了解React核心思想(组件化、Hooks)。日常通过MDN、Vue官方文档学习,关注前端工程化(Webpack/Vite)。虽主攻后端,但坚持‘懂前端才能设计好API’——例如理解Axios拦截器原理后,后端统一返回{code, data, msg}格式,大幅减少联调摩擦。近期正用Vue3+TypeScript重构个人博客,深化全栈协作认知。”

你项目里的前端页面是自己写的吗?用的什么技术?

“是的,校园二手平台前端由我独立开发:

  • 技术栈:Vue 2.6 + Element UI + Axios + Vue Router
  • 关键实现
    • 封装request.js:统一添加Token、处理401跳转登录
    • 路由守卫:根据用户角色动态生成侧边栏菜单(管理员可见‘审核中心’)
    • 性能优化:商品图片懒加载、搜索防抖(300ms)
  • 协作细节:用Swagger定义接口规范,联调前用Postman验证字段,避免‘前端等后端’。虽非专业前端,但这段经历让我深刻理解:后端开发者懂前端,是高效协作的隐形加速器。”

Linux用过吗?开发或部署时常用的命令能随手说几个吗?

“日常使用WSL2开发,项目部署在CentOS云服务器,高频命令分四类:
🔹 日志排查tail -f app.log | grep "ERROR"(实时追踪错误)、less +F app.log(大文件查看)
🔹 进程管理ps -ef | grep java(查进程)、kill -9 PID(强制终止)、top(监控CPU/内存)
🔹 文件操作scp local.jar user@server:/opt(上传文件)、find / -name "*.log" -mtime -1(查24小时内日志)
🔹 网络诊断netstat -tunlp | grep 8080(查端口占用)、curl http://localhost:8080/health(服务自检)
实战案例:曾通过journalctl -u app.service --since "5 minutes ago"快速定位服务启动失败原因(配置文件路径错误)。”

聊聊你项目里的权限控制流程

“采用 JWT + 拦截器 + 前端路由守卫 三层控制:
1️⃣ 登录认证:用户提交账号密码 → 后端校验 → 生成JWT(含userId、role、exp) → 返回前端存localStorage
2️⃣ 请求校验

  • 前端:Axios拦截器自动在Header加Authorization: Bearer {token}
  • 后端:自定义拦截器解析JWT → 验签/过期检查 → 将用户信息存ThreadLocal(避免重复解析)
    3️⃣ 权限判定
  • 接口层:@PreAuthorize("hasRole('ADMIN')")注解控制(基于Spring Security)
  • 前端:路由守卫根据user.role动态渲染菜单(如普通用户不显示‘商品审核’入口)
    安全加固:Token设置短有效期(2h)+ Redis存黑名单(应对强制下线),敏感操作加短信二次验证。”

面向对象三大特性,结合代码经历谈理解

封装:不是‘藏起来’,而是‘定义清晰边界’。
→ 例:Order实体中,setStatus()方法校验状态流转合法性(如‘已发货’不能回退‘待支付’),外部无法直接改status字段,避免业务逻辑散落。
继承:为复用而生,但慎用‘为继承而设计’。
→ 例:BaseResponse封装code/msg/data,所有Controller返回继承它;但业务类避免深层继承,改用组合(如订单含User对象而非继承User)。
多态:让系统拥有‘生长能力’。
→ 例:支付模块中,PaymentContextPaymentStrategy接口,运行时注入AlipayStrategy/WechatStrategy。新增银联支付?只需实现接口,零修改核心逻辑。
核心感悟:OOP本质是用代码表达业务语言,让修改成本最低、扩展成本趋近于零。”

分页查询一般怎么实现?后端

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

全部评论
接好运
点赞 回复 分享
发布于 03-07 12:56 广东
专栏目录https://www.nowcoder.com/share/jump/1772859327707
点赞 回复 分享
发布于 03-07 12:56 广东
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏。
点赞 回复 分享
发布于 03-06 15:50 广东

相关推荐

高标智能 后端开发面经1. 自我介绍2. 将java文件编译成class字节码加载到JVM,会先被解析到哪个区域3. 频繁Minor GC的排查与解决4. JVM内存区域中哪些是私有,哪些是共享5. 线程之间的通信方式,如何保证线程安全?6. 自定义类实例化时,会不会生成它父类 Object 的实例?为什么?7. Spring IOC 三级缓存是否完全解决了循环依赖问题?举例说明。8. Spring IOC 依赖注入的方式有哪些?————————————————————【我们是谁】👉二轮车电控的业界"大佬",市占率50%以上!👉热门出海赛道,ebike-三电系统新势力!----------🌍国际化平台,格局打开🚀全方位培养,火箭晋升【岗位需求】结构、仿真、电机、软件、硬件、测试、营销、制造等【岗位地点】总部位于东莞松山湖,工作地点遍布全国及海外【薪酬福利】💡五险一金、周末双休、带薪年假、报到礼金、食宿安排、节假日礼品等~💡薪酬待遇:研发类硕士21~35万/年,本科12-21万/年;非研发12-21万/年;派驻海外岗位额外补贴1.4万+/月!【内推链接】https://kjgb.zhiye.com/campus/jobs?shareId=cd54c7a7-9898-4abb-bd5e-a37952f5e425&shareSource=2&qr=1&memory=%7B%7D&silence=1【内推码】EVKM89内推投递,简历优先筛选,面试流程加快!
点赞 评论 收藏
分享
一、 个人背景与综合意向- 自我介绍:请进行简单的自我介绍。- 业务背景:该规则引擎主要应用于唯品会的哪些具体业务场景?- 团队情况:你所在组的整体开发团队规模是多少?纯后端开发人员有多少?- 实习时间:如果入职,什么时候可以开始实习?打算实习多长时间?二、 Java 基础(重点考察 HashMap)- 数据结构:请介绍一下 HashMap 内部的数据结构。- 设计原理:为什么 HashMap 要引入红黑树?这样设计的根本目的和好处是什么?- 底层支撑:为什么底层要基于数组加链表的形式来实现哈希表?数组的作用是什么?- 哈希计算:JDK 1.8 中,哈希函数是如何计算哈希值并确定元素在桶中位置的?(扰动函数的作用)- 并发安全:HashMap 是如何保证线程安全的?具体到 JDK 1.8,它是如何利用 CAS 和 synchronized 实现的?- 不安全场景:在多线程环境下使用普通的 HashMap 会出现哪些具体的并发安全问题?(例如:值覆盖、扩容死循环等)三、 Spring 框架- 核心机制:请解释一下 Spring 的循环依赖问题以及它是如何通过三级缓存解决的?- 缓存细节:每一级缓存分别存的是什么?为什么非要引入“三级缓存”而不能只用二级缓存?(涉及 Bean 生命周期与 AOP 适配)四、 项目深度挖掘(规则引擎)- 项目核心:请详细介绍一下你负责的规则引擎项目,包括你的角色和核心产出。- 难点与挑战:在该项目中,让你印象最深刻的技术难点或业务难点是什么?- 稳定性治理:你是如何实现规则的多版本快照和回滚功能的?- 数据库设计:为了兼容旧表并实现多版本功能,你在表结构上做了哪些具体修改?- 业务逻辑:当规则出现问题时,业务人员如何通过后台系统排查过去的执行情况?- **回调机制**:业务回调功能是如何设计的?为什么要做异步优化?- 可靠性考量:如果系统在回调过程中重启,线程池阻塞队列里的任务丢失了怎么办?如何保证数据一致性?- 性能优化:你是如何发现规则执行链路存在耗时问题的?具体的优化手段(核心与非核心链路拆分)是什么?- 系统指标:该系统的平均耗时(RT)和峰值 QPS 大约是多少?五、 工程能力与运维排查- 监控手段:你们是如何对线上规则的执行时间进行监控的?- 线上排查:如果线上出现问题,你的排查流程是什么?- 容器化知识:线上系统是容器化部署吗?你对 Docker 或 K8S 有多少了解?- 日志定位:在容器环境下,你如何查找和定位历史日志文件?
查看25道真题和解析
点赞 评论 收藏
分享
评论
5
6
分享

创作者周榜

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