zoukankan      html  css  js  c++  java
  • 面试试题汇总(2)

     

    1、索引算法b-tree与hash的区别
    b-tree索引是最常用的mysql数据库索引算法,可以用在=、>=、>、<、<=、between这些比较操作符上,还可以用于不以通配符%开头的like操作符上。
    hash只能用于对等比较,仅仅能用于=、in查询,在键值唯一的情况下,检索效率远高于b-tree
    hash不能用于范围查询。
    联合索引中,hash索引不支持最左匹配原则
    hash索引无法利用索引完成排序,不支持不以通配符%开头的like操作

    2、分布式系统中主键生成策略
    可参考:https://www.cnblogs.com/haoxinyue/p/5208136.html
    ①、数据库自增长序列
    ②、UUID
    ③、redis生成ID
    ④、Twitter的snowflake算法

    3、多对多关系的表如何处理
    建立中间关系表进行维护

    4、mysql的分页实现
    可参考:https://www.cnblogs.com/youyoui/p/7851007.html
    一般情况下,客户端通过传递pageNo页码、pageSize页数两个参数去分页查询数据库中的数据
    数据量较少时(百、千级别)时使用mysql自带的limit来处理:
    select * from table limit (pageNo-1)*pageSize,pageSize

    5、spring创建出来的bean都是单例吗
    spring将对象的创建交由IOC来管理,默认生成的bean是单例的,这与scope的配置有关,默认是singltion,即单例模式
    scope还可以设置成prototype、request、session
    prototype,每一次请求,都会产生一个新的bean实例,即多例模式
    request,针对每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效
    session,针对每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP session内有效

    6、springmvc的实现流程
    ①、客户端发送http请求至前端控制器DispatchServlet
    ②、DispatherServlet收到请求后调用处理器映射器HandlerMapping
    ③、HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Hander以及处理器拦截器HandlerIntercepter,一并返回给DispatcherServlet
    ④、DispatchServlet通过处理器适配器HandlerAdapter条用处理器Controller
    ⑤、执行处理器其中的业务逻辑,执行完后返回ModelAndView
    ⑥、HandlerAdapter将ModelAndView返回给DispatchServlet
    ⑦、DispatchServlet将ModelAndView传给视图解析器ViewResolver
    ⑧、ViewResolver解析后返回具体的视图View
    ⑨、DispatchServlet对视图View进行渲染视图,返回给客户端

    7、支付如何防止多次支付,对账是如何处理的

    8、jvm优化实践

    9、maven命令

    10、什么叫hash碰撞
    两个不同的原始值经过hash运算后得到相同的结果,着就叫做hash碰撞
    一般使用开放定址法、链地址法解决hash碰撞

    11、java中对象都分配在堆中吗
    https://blog.csdn.net/rickiyeat/article/details/76802085?locationNum=4&fps=1
    https://blog.csdn.net/moakun/article/details/80380220

  • 相关阅读:
    js 实现图片上传
    关于IOS不能使用JQUERY的ON事件
    js实现复制
    订单列表倒计时
    小程序实现倒计时
    微信小程序服务消息推送
    python爬虫七
    python爬虫六
    python爬虫五
    python爬虫四
  • 原文地址:https://www.cnblogs.com/conswin/p/9392974.html
Copyright © 2011-2022 走看看