面试知识点

Posted raynnie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试知识点相关的知识,希望对你有一定的参考价值。

Java/web基础

 

Static,final关键字,抽象类,代码块,Object类的方法,==equels

集合的继承关系及其特性,以及hashMap存取(1.7,1.8),常见IO流对象及使用

反射的知识点

常用设计模式:

多线程方面:

了解并发

创建线程

线程生命周期,

线程中的方法:

(sleep.wait,notify,join,yeild,interrupt,interrupted,isInterrupted)

synchronized用法(静态方法,非静态方法),特点和缺点等

Lock的使用;ReentrantLock,ReentrantReadWriteLock,公平锁,Condition实现等待通知机制,synchronized的区别和比较等

volatile关键字用法,JMM内存模型,happens-before原则,使用场景等

线程池,继承关系,任务类型和区别,核心参数和工作流程策略,几种常见线程池

理解悲观锁,乐观锁,CAS优缺点等,数据库实现乐观锁,Atomic系列

JUC包下countdownlatch,seamphore,cyclicbarrier的使用

Threadlocal,conCurrenthashmap使用

常用阻塞队列及使用,区别等

 

cokkiesession的使用,区别等http/https,servlet,get,post请求

NIO

 

代码考察:二分查找,冒泡排序,递归,死锁,单列,设计模式,集合操作

 

框架:

SpringMVC流程,注解,拦截器的使用,@[email protected]全局异常

Spring IOC/AOP的理解,

Bean的生命周期,作用域

自定义AOP,JDK/cglib代理

Spring事物,隔离级别,传播机制

Spring中多线程@EnableAsync, @Async

Spring定时任务

spring事件(Application Event

Spring中用到设计模式

自定义注解

SpringBoot:使用,理解,一些注解作用等。。。

 

Mybatis

Mybatis的工作流程,mybatis的拦截器机制

#{}${}的用法和区别

mybatis一级缓存二级缓存以及二者区别,二级缓存的策略

 

 

数据库:

优化方案;

索引的基本知识

索引使用场景和索引失效场景,

索引的数据结构:

读写分离,其他。。。

 

 

JVM:

虚拟机的内存区域分类,用处,异常等信息,常见参数(xms,xmx…

内存分配的方式以及如何选择

内存泄漏和内存溢出

对象的访问定位的两种方式(句柄和直接指针两种方式)

对象创建的步骤

判断一个对象是否存活?(或者GC对象的判定方法)

java垃圾回收机制

垃圾收集算法和常用垃圾回收器,GC回收策略(minor gcMajor GC,full gc

类加载机制(类加载器,自定义,什么场景使用)+双亲委派

JDK 1.8之后Perm Space有哪些变动

分布式:

CAP,BASE理论

分布式事物的实现方式(2段,3段,基于最终一致性和TCC补偿)

分布式锁的实现

分布式锁的使用场景

分布式唯一ID生成方案

 

Redis

数据结构,常用API,持久化,分片集群

 

Dubbo+zookeeper/CloudRPCREST

 

其他:mqquartzlinux,docker,其他工作中的问题

数禾:

  1. concurrenthashmap锁机制,什么情况下加锁
  2. hashMao原理,怎么解决hash冲突,为什么是不安全的
  3. springIOC机制讲一下4.springAOP使用场景,你是怎么用的
  4. redis数据结构发布订阅机制,你是用于什么业务场景,为什么要采用
  5. mybatis的xml怎么和dao的方法名称对应起来的

6.rabbitMq,你是用来干啥的,讲讲,路由模式怎么讲消息发送到指定的queue

7.nginx反向代理和负载均衡如何配置

8dubbo超时机制

10.mysql查询的时候,如果某一列有一个字段是null,那么相对在查询结果集的前面,还是后面?为什么?

12.线程池,有哪几种,几个重要参数说一下

 

诺亚财富:

1.jwt往死里问。

2.hsahMap的原理、hashMap  jdk1.8比jdk1.7有哪些变化,红黑树的算法时间复杂度是多少,链表的时间复杂度是多少?

3.单点登录问题,如果一个用户开启两个浏览器,怎么再第二个浏览器登录的时候,把第一个登出

4.rabbitMq 生产者怎么保证消费者一定消费了消息。

5.给我一个数字,让我在数组里以最快的速度找出一组两个数字的和等于这个数字,并且输出两个数字的下标

6.redis我都用过哪些数据结构,一般都用来放什么,连接用的是jedis。还是redisTemplate

7.分布式事务,一般都有个全局事务id,如果让你自己设计全局事务id,你怎么设计,不借用任何中间件

8jpa,我是用来连mysql的吗,我回答是,他就没问了

9. 分布式任务调度框架

10.git版本管理工具,我们是怎么管理接口的版本的

 

 

 

 


1.分布式锁不用redisson框架实现,直接用redis怎么实现
2.hashMap数组+链表的链表是怎么排序的?懂底层实现吗
3.concurrentHashMap 什么情况下加锁
4.redis数据结构zset用过吗?用来干啥的
5.悲观锁、乐观锁、乐观锁是怎么实现的,CAS、AQS、ABA是个啥玩意,我不懂
6.mysql索引算法,B+树讲一下,预编译有什么好处,除了防止sql注入还有啥好处;#和$的区别;最左原则讲一下
7.怎么做到百亿级别的数据查询,只需要几毫秒就能返回想要的结果
8.如果有个很大的文件,在并发量几百甚至上千的情况下,都去请求这个文件,你怎么做好快速响应?
9.线程池有哪几种,常用的的那几个参数讲一下,都是什么意义,你常用哪个,我说newFIxed那个,他说使用这个线程池需要注意什么,我没想起来?

10.线程有哪些状态,说一下,run和strat有什么区别

11.如果一个能支撑100并发的现在突然让支持300甚至500并发,又不给你增加机器,你怎么做?
12.kafka有什么不好的地方吗?dubbo+zookeeper有什么不好的地方吗?使用zookeeper做过分布式锁吗?
13.分布式事务用过哪些?跨库事务用过吗?

 

 

 

分享下今天的面试题:说下HashMap,nginx使用那些功能,线程池,ZK有那些功能,选举咋弄的,voliate关键字用法,项目结构图,数据库优化,B数b+树的区别,threadLoal的实现和问题,手写涉及模式,AOP的代理及实现,分布式事物的实现,多路复用,JVM的垃圾收集算法优缺点,五子棋怎么收子,怎么保证线程安全和又发挥多线程的快速作用,Spring Cloud hystrix中信号量和线程池的区别,ribbon的实现原理,CPU满了怎么检查,docker File命令,CAS怎么实现共享数据的分配

 

 

 

redis和数据库的一致性问题
zookeeper底层协议
手写rpc框架
zookeeper选举机制算法
zookpper生产者挂了,消费者怎么办
reids持久化机制
redis主从同步机制
redis如果物理内存快用完了怎么办

分库分表
怎么做两个库的表的关联查询
fullGc发生在哪里
mongo分配的副本

mysql索引会不会用在varchar列上
restful风格怎么理解

 

Spring中的CacheManager

 

以上是关于面试知识点的主要内容,如果未能解决你的问题,请参考以下文章

php高级面试题知识点(转载)

面经——C/C++常见面试知识点总结附面试真题

Java面试必备面试题,助你快速掌握Java基础知识点,顺利通过大厂面试

面试:Spring面试知识点总结

前端面试之道 (高清彩图)

前端面试题-知识点