某东面试经历 2018-03-06

一面和二面技术面试回顾:

1. spring 原理,和spring mvc 上下文关系 ? 父子上下文怎么配置aop 生效;
   spring beanFactory容器,读取bean定义,加载bean注册信息,反射 生成 代理,进行装配。
   AOP 原理就是jdk动态代理,Cglib 动态代理,有超类使用JDK代理,如service,dao ,无则使用 Cglib代理,如一般的compenenet 
   spring 初始化上下文applicationContext,为根上下文,mvc 为dispacher 子上下文
 ,service 层想实现aop,必须配置在spring 配置 中,controller必须配置在mvc配置中。  

2. redis 你们项目中 使用与那些场景? redis 底层原理?单线程是如何实现 串行化,如何抗高并发的?主从以及哨兵模式
   缓存 ,简单队列,计数器,分布式锁。
   redis 使用队列接受高并发client发送的消息,串行执行实现了单线程的安全问题。
   高并发的 原理---不知道
   主从和哨兵  简单说下服务端配置

3. mq 适用于哪些场景 ?linux 环境 常用命令,shell 脚本编写?

  主要是异步任务或者是服务之间的 数据通信。提升系统性能以及体验,解耦系统之间调度 。


4. JVM 原理,垃圾回收机制的几种方式?调优经验?

   年轻待,年老待,持久代,年轻代比例设置整个堆内存 3/8 . 垃圾回收的几种方式忘记了

5.nginx 基本配置,如何实现负载均衡,动静分离。

  server 配置,静态资源 路径配置 ,location ,upstream 

6.服务器优化,mysql 建表原则,sql 执行计划分析, sql优化,索引建立原则,20亿的数据量  id 查询和唯一索引查询哪个快?in 和exist 哪个快?
  自行百度。感觉回答的不是很好。
7.dubbo hessian 等rpc 的实现原理,有几种序列化方式。

  1. 服务消费方(client)调用以本地调用方式调用服务;
  2. client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;
  3. client stub找到服务地址,并将消息发送到服务端;
  4. server stub收到消息后进行解码;
  5. server stub根据解码结果调用本地的服务;
  6. 本地服务执行并将结果返回给server stub;
  7. server stub将返回结果打包成消息并发送至消费方;
  8. client stub接收到消息,并进行解码;
  9. 服务消费方得到最终结果。
  RPC的目标就是要2~8这些步骤都封装起来,让用户对这些细节透明。

  dubbo 无非是增加了注册 中心,增加了对于服务的管理

  hessian2,dubbo  ,json,JDK自身序列化,soap,kryo,fst 等序列化方式。
  传输协议有 rmi,dubbo,hessian,webservice,http.

8.springCloud微服务的理解,何以称为微服务?各个组件的解释,对比dubbo
  从粗细上说出自己理解的 微服务。以及 cloud各个组件的作用,并且对比了dubbo 的 性能,并发性。tcp http的 区别
  围绕我们项目,没有那么高的并发,选哪个无所谓 ,重点在意 易用性,稳定性。

9.工作中遇到的难题,举出俩个例子,包括你的解决 方案。

  举出了通过aop自定义注解,实现编写mybaits 分表插件的功能。

  利用redis 分布式锁(setnx +expire)解决了集群任务调度竞争且防止死锁的问题。

10.基础的问题 callable,runable区别,线程池怎么使用。hashMap 底层结构,LinkedList底层结构.

11 对zookeeper 是否熟悉。  
   使用阶段
12.对elaticSearch 的使用场景。
   大数据分析,关键词海量检索。index, mapping 数据分片

后面就是问一些其他的,和技术关联不大。

转载于:https://my.oschina.net/u/1178516/blog/1630609

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值