2019年面试题收集整理

Posted by 冷眼樵夫 on 06-17,2019

最近工作不在状态,各种内部外部原因,感觉可以准备赶上下一波换工作的高峰期(9月份),整理一波面试资料:

1:基础知识

算法相关:判断能否从数组中找出两个数字和为给定值,随机生成1~10000不重复并放入数组,求数组的子数组的最大和,二分查找算法的实现及其时间复杂计算

2、常用设计模式

单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保证一个类仅有一个实例,并提供一个访问它的全局访问点。

代理模式:动态代理和静态代理,什么时候使用动态代理。

适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

装饰者模式:动态给类加功能。

观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。

外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

命令模式:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。

创建者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

3、数据结构

算法:常用排序算法,二分查找,链表相关,数组相关,字符串相关,树相关等

常见序列化协议及其优缺点

搭建一个rpc需要准备什么

如果线上服务器频繁地出现full gc ,如何去排查

如果某一时刻线上机器突然量变得很大,服务扛不住了,怎么解决

LUR算法的实现

LinkedHashMap实现LRU
https://www.cnblogs.com/LZYY/p/3447785.html

定义栈的数据结构,请在该类型中实现一个能够找到栈最小元素的min函数

reactor模型的演变

阻塞、非阻塞、同步、异步区别

Collection的子接口

zookeeper相关,节点类型,如何实现服务发现和服务注册

nginx负载均衡相关,让你去实现负载均衡,该怎么实现

linux命令,awk、cat、sort、cut、grep、uniq、wc、top等

你觉得你的有点是什么,你的缺点是什么

你所在项目的系统架构,谈谈整体实现

消息队列的使用场景

ActiveMQ、RabbitMQ、Kafka的区别

4、开源项目

5、性能调优

  • jvm调优

      * jvm参数的设置和jvm调优
      http://blog.csdn.net/mrzhoug/article/details/51148302
    
  • msyql调优

      * mysql的优化策略有哪些
      https://coolshell.cn/articles/1846.html
    
  • 缓存优化

      缓存的设计和优化
      * Redis和memcached:什么时候选择redis,什么时候选择memcached,内存模型和存储策略是什么样的
      http://blog.csdn.net/u010785685/article/details/52366977  
      http://blog.csdn.net/qq_26624661/article/details/79269740 
    

6、分布式

  • 海量数据处理的解决思路
  • hadoop
  • hive
  • hbase
  • sqoop
  • 分布式锁
  • zookeeper
  • 分布式事务
    • ACID事务基础特性
    • CAP分布式事务核心规律
    • TCC解决方案

7、高并发

  • 1 代码层面:

    • 锁优化措施、
    • 简化事务和减少事务
    • 增加日志,监控资源瓶颈
  • 2 应用层面:

    • HTML静态化
    • 队列
    • 限流
    • 熔断
  • 3 数据库层面:

    • 分库分表 读写分离
    • 数据库活跃数据分离
    • 批量读取和延迟修改
    • 数据库集群和库表散列
    • 缓存
    • 数据库sql优化
  • 4 服务器层面

    • 文件服务器
    • 负载均衡
    • 反向代理
    • 动静分离

团队协作

  • 团队意识
  • 团队建设
  • 团队协作

0评论