海盗船|字节内部Java技术岗‘面试真题’泄露,冒死发布!( 十 )

  • 该Engine的默认主机)
  • 5) localhost Host获得请求/yy/index.jsp , 匹配它所拥有的所有Context
  • 6) Host匹配到路径为/yy的Context(如果匹配不到就把该请求交给路径名为”“的Context去处理)
  • 7) path=”/yy”的Context获得请求/index.jsp , 在它的mapping table中寻找对应的servlet
  • 8) Context匹配到URL PATTERN为*.jsp的servlet , 对应于JspServlet类
  • 9) 构造HttpServletRequest对象和HttpServletResponse对象 , 作为参数调用JspServlet的doGet
  • 或doPost方法
  • 10)Context把执行完了之后的HttpServletResponse对象返回给Host
  • 11)Host把HttpServletResponse对象返回给Engine
  • 12)Engine把HttpServletResponse对象返回给Connector
  • 13)Connector把HttpServletResponse对象返回给客户browser
  • 3、tomcat容器是如何创建servlet类实例?用到了什么原理?
    当容器启动时 , 会读取在webapps目录下所有的web应用中的web.xml文件 , 然后对xml文件进行解析 , 并读取servlet注册信息 。 然后 , 将每个应用中注册的servlet类都进行加载 , 并通过反射的方式实例化 。 (有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数 , 则在一开始就实例化 , 如果不写或为负数 , 则第一次请求实例化 。
    4、专业点的分析工具有
    IBM ISA , JProfiler、probe 等 , 具体监控及分析方式去网上搜索即可
    5、添加 JMS 远程监控
    6、关于 Tomcat 的 session 数目
    7、监视 Tomcat 的内存使用情况
    8、Tomcat 有几种部署方式?
    9、监视Tomcat的内存使用情况
    10、关于Tomcat的session数目
    11、Tomcat工作模式?
    12、共享 session 处理
    13、tomcat 有哪几种 Connector 运行模式(优化)?
    14、Tomcat 工作模式?
    15、Tomcat的缺省端口是多少 , 怎么修改?
    16、Tomcat 的缺省端口是多少 , 怎么修改?
    17、共享session处理
    18、垃圾回收策略调优
    19、Tomcat 一个请求的完整过程
    20、Tomcat有几种部署方式?
    IV.悲观锁于乐观锁
    1、只能保证一个共享变量的原子操作
    CAS 只对单个共享变量有效 , 当操作涉及跨多个共享变量时 CAS 无效 。 但是从 JDK 1.5 开始 , 提供了 AtomicReference 类来保证引用对象之间的原子性 , 你可以把多个变量放在一个对象里来进行 CAS 操作.所以我们可以使用锁或者利用 AtomicReference 类把多个共享变量合并成一个共享变量来操作 。
    【海盗船|字节内部Java技术岗‘面试真题’泄露,冒死发布!】2、悲观锁


    添加描述

    3、乐观锁常见的两种实现方式
    乐观锁一般会使用版本号机制或 CAS 算法实现 。
    4、循环时间长开销大


    添加描述

    5、CAS 与 synchronized 的使用情景
    6、CAS 算法
    7、乐观锁的缺点
    8、乐观锁
    9、两种锁的使用场景
    五、分布式专题面试
    I.Dubbo
    1、Dubbo支持哪些序列化方式?
    默认使用 Hessian 序列化 , 还有 Duddo、FastJson、Java 自带序列化 。
    2、RMI协议


    添加描述

    3、服务调用超时会怎么样?
    dubbo 在调用服务不成功时 , 默认是会重试两次 。
    4、为什么要用Dubbo?
    随着服务化的进一步发展 , 服务越来越多 , 服务之间的调用和依赖关系也越来越复杂 , 诞生了面向服务的架构体系(SOA) , 也因此衍生出了一系列相应的技术 , 如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架 。 就这样为分布式系统的服务治理框架就出现了 , Dubbo 也就这样产生了 。