深圳科瑞技术社招Java开发工程师二面
寒暄的内容省略,以及聊了下项目中的一些架构技术栈……也省略……
- SpringMVC流程原理?------画个UML流程图表述,从客户端请求经过……,……最后渲染视图返回给客户端……
- Spring的ioc和aop?----------
- MyBatis和Hibernate的异同?--------
- Tomcat性能调优有哪些措施?------从Tomcat根目录下的conf修改server.xml一些最大并发数,因为实际环境线上的并发取决于硬件性能,所以可以调制。初始化创建的线程数,是否开启域名反查……各种参数的设置
- JVM性能调优?------------可以从内存调优和垃圾回收策略两方面展开聊。因为tomcat运行在JVM上,所以设置tomcat根目录下bin中的catalina.sh文件中的JAVA_OPTS变量即可,因为此参数会作为JVM启动参数。将堆中初始值和最大值设为相等,减少垃圾回收次数。年轻代和老年代的占比,年轻代的内存大小,每个线程的栈大小……。主要是合适的收集器,并行、并发、串行收集器的不同应用……
- 描述下ZooKeeper的***机制?-----以半数机制为主题的聊……
- ZooKeeper的监听原理是什么?-----最好画个草图,从创建客户端开始,两个线程为Listener和Connect,其中Listener监听路径数据的变化,Connect负责客户端和ZooKeeper的连接注册监听列表,ZooKeeper监听的数据有变化或路径变化,就会将这个消息发送给Listener,Listener线程内部调用了process()方法……。
- ZooKeeper的部署方式有哪几种?集群中的角色有哪些?集群中最少需要几台?------单机模式、集群模式。角色为Leader和Follower。最少需要三台机器……
- ZooKeeper常用命令-----查看ls,增create 查get 删delete 改set……
- 谈谈dubbo的架构原理?-------------分布式服务框架,把那个消费者、生产者、注册中心和监控中心的草图画出来阐述………
- dubbo执行流程?---------依据上面架构的原理以及角色阐述。启动Spring容器时自动启动dubbo的provider,自动注册中心注册内容(ip,端口,接口方法……),启动consumer自动去注册中心获取相关服务,provider发生变化自动由注册中心去通知consumer,consumer调用provider中的方法
- dubbo中zookeeper做注册中心,如果注册中心集群宕机,那么消费者和生产者还能够通信吗?--------可以,通过本地缓存
- dubbo支持的协议有哪些?----Dubbo协议,RMI协议,Hessian协议
- dubbo的负载均衡策略?--------权重,轮询,最少活跃调用数,一致性Hash……
然后就是聊项目……以及项目中的一些坑……
总结:主要还是基于公司技术栈的所需以及结合自己简历的一些聊……
偏重一些技术框架的应用,以及项目中的调优、特别是分布式一些技术栈和产品的应用……