面试心得

2019.7.31 陆金所

一面:线程的几种状态,实现一个按顺序打印ABC的程序(多线程实现),这个问题答的不好,因为不会,但小哥很乐意开导,会提示你用其它的方式来实现,说出自己的想法。其它一些基础问题就不在此列举了。

二面:面试官没摆架子很好,话不多说,一番简单自我介绍之后,直接进入myqsl专题,讲mysql肯定缺少不了索引 B tree 的实现,先讲mysql 支持的引擎比较优缺点,再把索引带出来,讲索引要把选择B tree 的理由说出来,面试官问了 为什么不选择 Hash 表来实现索引,Hash表相当于一个数组,当发生Hash冲突的时候链表过长是个问题,这里在HashMap用红黑树优化,还有一个问题选择Hash索引的维护成本太高,当更新索引的时候,Hash表需要移动大量的元素,如果对于读比较多的业务选择Hash是一个不错的选择,Hash不能范围查找,存在一定局限性。这里不能说Hash就不好,在某些场景(数据量少)下Hash的效率还是会比Btree高的。考了一个模糊查询,联合索引最左匹配会不会执行索引,这个问题答的不太好。之后,考了一个超时场景下的重试机制,这个因为在项目中实战过所以回答的还ok把,但面试官说这个太复杂了。。

三面:大Boss来了,日了狗了。一个zk选举,一个秒杀系统直接让我瑟瑟发抖,看我都不会说话了,直接走人了。

 

 

 

 

Spring 中的Bean 是线程安全的吗?

bean是由IOC容器创建,通过反射生成实例,跟线程安全没有关系。

spring bean的生命周期?

 默认Bean为singleton 单例,伴随着容器一生。

 还有prototype 原型,每次使用都new新的对象,使用完之后自动销毁。

 request 级别,就是一个http请求。

  session 级别

 

一、setter 注入

<!-- 注册userService -->
<bean id="userService" class="com.lyu.spring.service.impl.UserService">
   <property name="UserDao" ref="userDaoMyBatis"></property> 
</bean>
<bean id="userDaoMyBatis" class="com.lyu.spring.dao.impl.UserDaoMyBatis"></bean>
 

二、构造器注入

<!-- 注册userService -->
<bean id="userService" class="com.lyu.spring.service.impl.UserService">
    <constructor-arg ref="userDaoJdbc"></constructor-arg>
</bean>
<!-- 注册jdbc实现的dao -->
<bean id="userDaoJdbc" class="com.lyu.spring.dao.impl.UserDaoJdbc"></bean>
 

三、注解注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值