深圳市无双软件科技有限公司社招Java工程师(面经二)

接着上周面一的邀约,新熟人了,所以没有那种千篇一律的相互介绍了。
直奔技术栈问答主题。
  1. StringBuffer和StringBuilder的区别?--------个人认为这种就是靠记忆的机械式问答。线程安全:StringBuffer线程安全,StringBuilder线程不安全;执行效率:StringBuilder执行效率高,StringBuffer执行效率低;存储空间:相较于String的不可变性质,两者都是可变的,所以耗费空间两者差不多;使用场景:单线程操作字符串缓冲区使用StringBuilder,多线程操作使用StringBuffer。
  2. StringBuilder为什么线程不安全?---------通过多线程模拟对一个StringBuilder进行append方法的添加字符,结果统计出来的数量与预期值不同,也就是有些线程的添加是重复无用功,其底层的统计计算不具备原子性……
  3. 关于HashMap的理解?---------底层结构是数组+链表+红黑树。根据键的hashcode值来存储数据,可以运行一条为null的键,多条记录的值为null。Java7中底层是一个数组,数组中的每个元素是一个单向链表,数组的容量始终保持2n,扩容数组的大小为当前的2倍,负载因子默认是0.75,扩容的阀值为当前数组容量*负载因子。Java8中加入了红黑树,在定位到某个元素的下标后,当链表长度大于8时会自动转换为红黑树,提高了原来顺着链表查询的效率。
  4. 如何在遍历ArrayList时安全删除其中一个元素?------刚开始回答的是arraylist不适合做增删操作,因为底层是数组涉及到增删后的移位,只适合访问。后来和面试官讨论了下,业务需求的一切皆有可能性,所以先通过对list的迭代器获取,并且遍历循环得到集合中的每个元素,对其中符合条件判断的进行remove删除即可。
  5. SpringAOP的原理?--------主要用类在原有业务上添加功能时不违反“开闭原则”,比如日志记录、性能统计、安全控制、事务处理、异常处理……。直译过来就是面向切面编程,实现措施有AspectJ,
  6. 能否举个业务上的例子说说分库分表?----------这是针对并发量过大导致单机存储容量、连接数、处理能力瓶颈问题。垂直切分也分为分库和分表两种措施,垂直分库是根据业务耦合性关联度较低的不同数据存储到不同的数据库中,比如客户信息库、商品信息库……分开存放到不同的库中。垂直分表是基于原数据表的字段太多而拆分的方式,比如客户表有个人身份属性,地址联系等属性……。水平切分分为库内分表和分库分表,将同一个表的数据按照不同的条件分配到多个表中,比如ID奇偶分表。库内分表只解决了单一表数据过大的问题,没有将表分布到不同的机器上,所以为了避免竞争同一台机器的CPU、内存、网络等可以分布到不同的库中。
  7. 分库分表带来的问题又是什么?---------事务一致性的问题;跨机器节点关联问题;跨节点分页排序问题;全局主键避重问题;数据迁移扩容问题……
  8. 简单聊聊消息中间件?--------消息中间件,见名思义就是间于发送消息和接受消息双方之间的一个框架,引出的目的:解耦,不同模块开发者面向中间件做调用,而不需要直接调用导致开发双方进度或者接口不同带来的影响;异步,利用中间件的队列可以将不同的响应分开处理,一心多用提高了响应速率;削峰,对于客户端的大量请求先存放在中间件对列中,控制消费流量,待请求流量小的时候再执行。
  9. 你了解那些具体的消息中间件产品?--------ActiveMQ通过下载解压到指定目录中,然后进入bin目录中对activemq可执行文件启动(start/stop)/关闭,然后通过浏览器进行对8160端口的访问admin,即可访问ActiveMQ后台管理界面。
  10. 什么是springboot?springboot的优点是什么?------springboot是构建在spring框架上,减少以往的配置实现spring的功能。优点就是:减少开发配置工作量;避免大量的maven导入引起的版本不兼容;内嵌web容器;通过注解自动加载管理bean……
  11. 如何在一台内存很小的机器上,实现两个大文件的交集运算?---------俺真的没有思路哟……不知道是考察的什么技术栈和知识点……有时间再去查查
  12. 项目经历介绍?---------(略)
  13. 其他非技术栈问题--------------略

总结:集合、数据库、spring系列、项目经验均有涉猎……

#社招##Java工程师##面经#
全部评论
感谢分享面经!欢迎参加过社招的牛友发社招面经拿京东卡!~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
点赞 回复
分享
发布于 2019-12-19 14:56

相关推荐

2 25 评论
分享
牛客网
牛客企业服务