面试问题总结 2018/05/16

  1. Redis与Memcache与什么区别?

只说特点,不说谁好谁坏:
Redis是单线程的,支持多种数据类型,定制订阅/发布模式,支持Lua脚本,事务,包括持久化存储。

Memcache也是内存存储,不过memcache还可用于缓存其他东西,例如图片、视频等等,Memcache无法持久化。

个人觉得Redis更加强大,效率上两者差别不大,Memcache能做的东西,Redis基本上也能做,所以就选Redis吧。如果需要持久化存储的选用Redis。

  1. MongoDB有什么优缺点?

特点:MongoDB在海量数据下性能优越,文档数据存储结构,可以快速的实现故障转移。
缺点:不支持事务,占用空间大。

  1. 如何做MySQL数据库的优化?
    硬件优化,提升硬件
    MySQL服务器优化,优化my.ini文件,增加调整buffer,cache
    表结构优化,恰当的索引
    SQL语句优化,专业的人员来做

  2. MySQL的Select语句实现纵表转横表。

参考:https://blog.csdn.net/fysuccess/article/details/40789869

  1. 分布式中的生产中与消费者,说说他们的关系。项目中那些是生产者,那些是消费者。

  2. 接口与抽象类的区别,什么时候用接口,什么时候用抽象类

参考:https://www.jianshu.com/p/fa651f8d3180

  1. 这些技术你再实际生产环境中是如何应用的

惭愧,很多知识没只懂概念,没实践过,以后要学有所用。

  1. 说说JDK8的新特性,JDK10呢

JDK8: Lambda 表达式,直接方法引用, 接口默认方法
新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
Date Time API − 加强对日期与时间的处理。
Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

JDK10新特性:https://www.oschina.net/translate/109-new-features-in-jdk-10

  1. 常见的设计模式,你经常用那些设计模式

  2. Spring Bean的生命周期

参考:https://blog.csdn.net/lisongjia123/article/details/52091013

  1. AOP了解多少,在项目中是如何使用的
  2. 服务器硬件配置如何,数据存储量有多少
  3. 你们现有项目中的瓶颈在哪里,能容纳多大的并发量

惭愧,上面的问题表面我的技术在实际应用中并没怎么发挥。

  1. 在使用Redis,MongoDB,等遇到过哪些问题,然后是如何解决的。
  2. 项目的用户量有多少,并发量多少,数据量有多少
  3. 接下来有什么规划
  4. 都用过哪些数据库
  5. 大数据的场景下,谈谈以空间换取时间的做法。
  6. Spring的事务
  7. JVM性能优化上,常用的JVM参数。关于新生代,老年代的。

先记录这么多吧,水平还是很有限的。主要问题在于我线上实操经验太少。

你可能感兴趣的:(面试问题总结 2018/05/16)