北京天志数融管理咨询有限公司Java开发面试

北京天志数融管理咨询有限公司Java开发面试,面试官压力给的不大,但是主包答的好乱,估计也寄了。

一、Java后端开发岗位面试问题及标准答案

1.C++中`struct`和`class`的区别(基础语法考察)
问题本质:虽为C++知识点,但可反映对编程语言语法细节的掌握,间接体现逻辑严谨性(Java后端开发需理解多语言基础)。
标准答案:
两者核心差异在于默认访问权限和默认继承方式:
`struct`默认成员为`public`(公共),默认继承方式为`public`;
`class`默认成员为`private`(私有),默认继承方式为`private`;
其他功能(如定义方法、继承、多态)完全一致。在实际开发中,`struct`更侧重数据存储,`class`更侧重封装逻辑。

2.动态数组(DynamicArray)与链表(LinkedList)的区别及特点(数据结构考察)
问题本质:Java后端开发中,集合框架(如`ArrayList`基于动态数组,`LinkedList`基于链表)是核心工具,需理解底层数据结构特性。
标准答案:

3.哈希表(HashTable)的基本概念及底层数据结构(数据结构+Java集合关联)
问题本质:Java中的`HashMap`是后端开发高频工具,需理解其底层原理以优化代码性能。
标准答案:
核心功能:通过“键值”映射实现快速查询(平均O(1)),核心是哈希函数将“键”转换为数组索引。
底层结构:由数组(桶)和链表/红黑树组成:
数组是主体,每个索引对应一个“桶”;
哈希冲突(不同键映射到同一索引)时,用“链地址法”存储:JDK8及以上中,当链表长度>8时转为红黑树(提升查询效率至O(logn)),<6时转回链表(节省空间)。

4.数据库索引失效的常见原因(数据库优化考察)
问题本质:Java后端开发需频繁与数据库交互,索引优化是性能调优的核心,直接影响系统稳定性。
标准答案:
索引失效指查询未使用预期索引,导致全表扫描,常见原因:
对索引列使用函数(如`WHERESUBSTR(name,1,1)='A'`);
索引列参与运算(如`WHEREage+1=10`);
使用`NOTIN`、`!=`、`<>`等操作符;
模糊查询以`%`开头(如`WHEREnameLIKE'%张三'`);
联合索引未遵循“最左前缀原则”(如索引`(a,b,c)`,仅用`b`或`c`查询);
索引列存在`NULL`值(数据库对`NULL`处理可能跳过索引)。

5.如何查看SQL语句是否使用索引(数据库工具使用考察)
问题本质:后端开发需具备分析SQL性能的能力,`EXPLAIN`是基础工具。
标准答案:
使用`EXPLAIN`命令(或`EXPLAINANALYZE`)分析执行计划,例如:
```sql
EXPLAINSELECT*FROMuserWHEREid=1;
```
关键看`type`列:
若为`const`(常量)、`eq_ref`(唯一索引匹配)、`ref`(非唯一索引匹配)等,说明使用了索引;
若为`ALL`,则表示全表扫描(未使用索引)。

6.HTTPS的定义及加密流程(网络安全考察)
问题本质:Java后端开发需处理接口通信安全,HTTPS是基础安全协议。
标准答案:
定义:HTTPS是HTTP的安全版本,通过SSL/TLS协议在传输层加密,防止数据被窃听、篡改或伪造。
加密流程(简化):
1.客户端发起请求:发送支持的SSL/TLS版本、加密套件列表;
2.服务器响应:选择加密套件,返回数字证书(含公钥和服务器身份);
3.客户端验证证书:通过CA机构验证证书有效性,生成随机“会话密钥”,用服务器公钥加密后发送;
4.服务器解密:用私钥解密获取会话密钥;
5.对称加密通信:双方用会话密钥进行对称加密传输(后续数据均用此密钥)。

7.项目与实习经历相关问题(匹配度考察)
问题本质:判断候选人实际经验与岗位需求的契合度。
参考答案:
关于实习经历:“实习以软件实施为主,虽代码开发较少,但让我完整参与了企业级项目的需求分析、开发流程及客户对接,积累了对业务场景的理解和跨团队沟通能力,这对后端开发中准确理解需求很有帮助。”
关于二手市场平台项目:“作为后端开发,我负责用户认证、商品发布与查询接口开发,使用Java+SpringBoot框架,数据库用MySQL,通过MyBatis实现CRUD操作,解决了并发查询时的性能问题(如添加索引优化)。”

候选人提问环节(3~5分钟):
候选人可询问公司业务方向(如“后端主要用哪些框架?”)、团队规模、面试结果反馈时间等(体现对岗位的重视)。
面试官告知后续流程(如“1周内通过邮件/电话反馈”),双方礼貌结束对话。

#牛客AI配图神器##秋招笔面试记录##面试##秋招#
全部评论
我这里有最近在做的大厂项目可以包装简历,有需要包装的同学可以去看下我主页简介,那里有项目的线索指引
点赞 回复 分享
发布于 08-20 16:12 江苏

相关推荐

08-20 16:06
门头沟学院 Java
一.项目和八股1.预约失效是怎么实现的?用xxl-job代替人工标记2.用户登录流程SpringSecurity+Redis,用户信息存入redis,返回前端uuid。3.如果是集群部署的话怎么处理?登录不受影响。集群连同一个redis服务,确保授权正常。4.我看你引入了缓存,咋实现的?引入SpringCache缓存部门的树形结构的数据......5.怎么更新部门数据?先更数据库,再删缓存6.怎么保证双写一致性?旁路缓存策略,巴拉巴拉,不知道他听了没有。7.秒杀场景怎么保证数据一致性?互斥锁8.jwt的token和cookie区别?答的一个后端无状态,一个需要维护前端信息,应该说错了。9.第二个项目ai功能怎么实现?两个功能都是调api10.大模型上下文怎么处理?没考虑到11.ES用到哪些场景?倒排索引?存文章数据;建立&nbsp;分词-&gt;文档id&nbsp;的映射关系12.MySQL索引结构讲一下?哈希表(无法范围查询)&nbsp;-&gt;&nbsp;二叉排序树(极端情况退化链表)&nbsp;-&gt;&nbsp;平衡二叉树(频繁左旋右旋增io)&nbsp;-&gt;&nbsp;红黑树(本质还是二叉树)&nbsp;-&gt;&nbsp;B树(非叶子节点存索引和数据,增io)&nbsp;-&gt;&nbsp;B+树(叶子才存数据;&nbsp;双向链表,适合范围查询)13.索引失效场景说的是本质都是未按b+树构建规则来查,说了四种14.接触过其它语言吗?稍微学过c、c++、py二.反问(他没让我问,我主动提出的)1.业务:开发与碳中和相关的SaaS平台(没听过)2.上下班:9点-18点半三.感受总体感觉还算能看吧,但8、10感觉答的不好。另外感觉面试官比较严肃,也没让我反问,问完挂的也很干脆,难道无望了吗
查看14道真题和解析
点赞 评论 收藏
分享
头像
08-21 09:18
湖南大学 安卓
一个什么都不会的学生:骨头硬一点,你不欠她什么,能合作就合作,不能合作那还惯着谁啊,直接把你能骂的脏字全骂了就行了,打到家门口了不用忍了,打得一拳开,免得百拳来
你被mentor骂过吗?
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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