soho外贸网站建设,网站优化策划方案,教育培训机构,海南一家天涯社区今天晚上和阿里钉钉面试官聊了一面#xff0c;整个过程持续45分钟#xff0c;还是相当持久的。前面先让我自我介绍#xff0c;包括自身背景、工作经历和项目经验#xff0c;在介绍的时候面试官几次打断#xff0c;让我停下来#xff0c;然后他提问#xff0c;我很纳闷还… 今天晚上和阿里钉钉面试官聊了一面整个过程持续45分钟还是相当持久的。前面先让我自我介绍包括自身背景、工作经历和项目经验在介绍的时候面试官几次打断让我停下来然后他提问我很纳闷还能这样不让我连续地讲完么。不过我也能接受因为也面过阿里很多次了面试过程还是比较easy的。 讲完自我介绍后就进入技术问答环境。面试官首先一问了解Spring bean的声明周期吗?我心里一乐这不就是一直以来有所准备的么。于是我从bean一开始从配置文件中解析到beanFactory到中间填充属性等操作最后到创建成功一一列出来了。大概过程如下 配置文件中定义-经过reader对象解析加载到beanfactory的beandefinitionmap-初始化-如果实现了aware接口就调用对应的set方法-如果实现了BeanPostProcessor接口就调用前置方法-如果实现了InitializingBean会调用afterPropertiesSet方法-调用自身init方法-调用beanpostprocessor的后置方法-创建完成-使用-调用destroy方法销毁。 接着面试官二问redis有使用过吧有什么使用场景我大概讲了一下几种场景分别是作为缓存、轻量级消息队列、排行榜使用sortedset、分布式锁。 面试官三问缓存的三种常见问题缓存穿透、缓存击穿和缓存雪崩分别是什么以及怎么解决这个也是常见的面试考点我也不知道我背得怎样大概是这样说的。缓存穿透是大量不存在的key落到了数据库上解决的方式有两种一种是预设空值也就是缓存中预设置不存在的key值为null另一种是使用布隆过滤器简单地介绍下布隆过滤器就是通过哈希计算存储合法的值到布隆过滤器中这样可以过滤掉不合法的值。缓存击穿是热key失效解决的方案可以是定时判断热key是否要过期是的话延长过期时间。缓存雪崩是大量key同时失效解决的方案可以是给不同的key尽量设置不同的过期时间使不同的key不至于同时失效。 面试官四问什么是星型模型和传统数据库的ER模型有什么区别我了解星型模型是一个事实表和多个维度表相关联的一种数据仓库表的设计方法传统的ER模型应该是满足了数据库三范式的表设计原则。我这里没回答出来两者的具体区别。 面试官五问对哪个组件熟有什么处理线上问题的经验因为我过往项目经验中大数据相关经验比较多所以我说了Hive。介绍完Hive的原理之后我讲了之前做数据统计分析的时候使用Hive做离线分析的经验以及线上处理配置不合理或服务器资源不足导致OOM问题的过程。每次面试需要讲到实际项目中遇到的问题时我就有点不好意思和羞愧因为确实没涉及到比较难的问题 最后本来面试要结束了面试官又发一问说一下桥接模式。我说桥接模式就是抽象和实现的分析接口可以是一致的然后通过方法可以改变内部的实现例如java中的数据库连接JDBC可以通过设置不同数据库的Driver来改变内部实现但是接口还是一样的程序中使用的时候还是一样调用的。