- 1
- 0
- 约3.89千字
- 约 4页
- 2026-03-13 发布于河北
- 举报
中软国际面试题及答案
一、基础技术类(Java方向,中软核心技术栈高频题)
1.题目:说说HashMap和Hashtable的区别,实际项目中你怎么选?
答案:最核心的区别有两个,一是线程安全,Hashtable是线程安全的,方法加了synchronized,而HashMap是非线程安全的;二是null值支持,HashMap允许key和value为null,Hashtable不允许。实际项目里,我一般优先选HashMap,因为大多数场景下不需要线程安全,HashMap效率更高。如果需要线程安全,不会直接用Hashtable,而是用ConcurrentHashMap,它是分段锁,比Hashtable的全局锁性能好太多,比如之前做接口并发请求处理的时候,就用ConcurrentHashMap存缓存数据,没出现过线程安全问题。
2.题目:SpringIoC是什么?你在项目中怎么用的?
答案:IoC就是控制反转,简单说就是把对象的创建和依赖注入交给Spring容器管理,不用我们自己new对象,降低耦合度。项目里用的话,主要是注解和XML两种方式,现在大部分项目都是注解为主,比如用@Controller、@Service、@Autowired这些注解,把Service注入到Controller里,Dao注入到Service里。比如之前做一个管理系统,UserService里需要UserDao的实例,直接加@Autowired注解,Spring就自动帮我们实例化并注入了,不用自己手动创建,后续修改实现类也方便,只需要改注解里的value或者用@Qualifier指定就行。
3.题目:MySQL索引有哪些类型?什么时候建索引,什么时候不建?
答案:常用的索引类型有主键索引、唯一索引、普通索引、联合索引。主键索引是默认的,唯一索引保证字段值唯一,普通索引就是最基本的索引,联合索引是多个字段组合的索引。建索引的场景,主要是查询频繁的字段,比如用户表的手机号、订单表的订单号,还有联合查询经常用到的字段组合,比如订单表查用户ID+创建时间,建联合索引能大幅提升查询速度。不建索引的情况,一是字段更新频繁的,比如库存表的库存数量,每次更新都要维护索引,反而拖慢效率;二是数据量特别小的表,比如只有几十条数据的字典表,全表扫描比走索引还快;还有查询时用不到的字段,建了索引也是浪费空间。
二、项目实操类(中软重点考察,贴合外包/自研项目场景)
1.题目:你之前做的项目中,遇到过什么技术难题?怎么解决的?
答案:之前做一个政府外包项目,涉及大量Excel数据导入,大概有几万条数据,导入的时候经常超时,而且偶尔会出现数据重复的问题。首先排查超时原因,发现是一次性读取所有数据,内存占用大,而且没有分批处理。解决办法是用POI的SXSSFWorkbook(大数据量Excel处理),分批读取数据,每读1000条就提交一次事务,减少内存占用;然后针对数据重复,在数据库层面加了唯一索引(根据业务唯一字段,比如身份证号),同时在代码里做了预校验,读取数据后先查询数据库,存在的话就跳过或者标记为重复,最后还加了异常捕获,把失败的数据记录到日志里,方便后续排查。最后优化后,导入几万条数据只需要几十秒,也没再出现重复和超时问题。
2.题目:如果让你对接一个第三方接口,需要注意什么?
答案:对接第三方接口,首先得先吃透对方的接口文档,包括请求参数、返回格式、异常码、超时时间这些,最好先和对方联调一次,确认接口能正常通。然后重点注意这几点:一是超时处理,必须设置合理的超时时间,比如3-5秒,避免接口卡住导致整个流程阻塞;二是重试机制,针对偶尔的网络波动,做2-3次重试,重试间隔要错开(比如1秒、3秒),但要注意对方接口是否支持幂等(避免重复提交数据);三是异常处理,对方返回异常码或者接口调用失败时,要捕获异常,记录详细日志(请求参数、返回信息、时间),方便排查;四是数据加密,如果是敏感数据(比如用户信息、支付信息),要按照对方要求做加密处理(比如MD5、RSA),确保数据安全。之前对接支付接口的时候,就是这么做的,没出现过数据丢失或者接口调用失败的问题。
3.题目:项目中怎么保证代码质量?你平时怎么做代码评审的?
答案:保证代码质量,首先是编码规范,遵循公司的编码标准(比如命名规范、注释规范),比如类名用大驼峰,方法名用小驼峰,关键业务逻辑必须加注释。然后是单元测试,核心接口和工具类必须写单元测试(用Junit),覆盖率尽量达到80%以上,确保修改代码后不影响原有功能。还有就是代码评审,我平时做CR的时候,会重点看这几点:一是业务逻辑是否正确,有没有遗漏场景(比如异常场景、边界值);二是代码是否简洁,有没有冗余代码(比如重复的工具方法);三是是否有性能问题(比如循环
原创力文档

文档评论(0)