java 面试准备

面试心得 {#toc_3}

个人认为我准备的比较充分。我准备的具体流程为上牛客找面试题,然后归类总结,最后在通过百度谷歌找出这些问题的答案,自己再进行理解,循环往复,就ok了。下面我列一下一些面试(Java)常见的问题:

Java基础 {#toc_4}

泛型,面向对象和面向过程的区别,语法糖,包装类和基本类型,stream,lambda,多态实现方式,==/equals/hashCode(),static和final,内部类,接口和抽象类,编码方式,异常,IO,反射

Java容器 {#toc_5}

Collection和Map,HashMap的结构(1.7和1.8),hashMap的几个变量,初始化值,LRU与LinkedHashMap,ArrayList的扩容原理,如何使容器变得线程安全,队列的使用场景

Jvm {#toc_6}

编译执行or解释执行,常量池,类加载过程,实例初始化过程,GC算法,Jvm内存空间,常见的Jvm命令如jstat,jhat,jmap,jinfo,内存泄露怎么处理,如何定位while死循环和死锁

Java并发 {#toc_7}

jmm,volatile,synchronized,并发编程的三个特性(如何保证),Object的几个方法,Thread的几个方法,线程五个状态,JUC包(并发容器,lock,工具类,线程池,原子类),AQS原理,ThreadLocal,线程的,多线程循环打印abc,生产者消费者模式

设计模式 {#toc_8}

五大原则,工厂模式,迭代器模式,观察者模式,适配器模式,策略模式,代理模式,外观模式,享元模式,单例模式,装饰者模式,组合模式,模板方法模式等

408(计算机学科专业基础综合) {#toc_9}

进程线程和协程,内存管理方式,常见linux命令top,ps,cat等,网络模型,nio(epoll,poll,select),bio,aio,虚拟内存,页面替换算法,磁道调度算法,银行家算法,死锁定义,CPU调度算法,哲学家问题,理发师问题,进程内存分配,进程切换过程,内存管理方式

7层模型,url的执行过程,HTTP1,2和HTTPS,TCP和UDP,SYN泛洪,TIME_WAIT处理方式,中间人攻击,TCP的沾包和拆包,XSS,CSXF,DDOS,SQL注入

链表和数组,翻转链表,树的镜像,树的遍历,合并有序数组,topK问题,大数据找中位数,大数据排序,快速找到某个人的排名,红黑树,AVL树,B+树,各种排序,这个刷LeetCode就完事了

MySQL {#toc_10}

隔离级别,ACID,ACID如何实现,MVCC,索引,前缀索引,回表,最左原则,聚簇索引,非聚簇索引,覆盖索引,hash索引,索引下推,索引结构,Innodb和MyISAM,间隙锁,行锁,表锁,relog,undolog,binlog

Redis {#toc_11}

缓存一致性,持久化方式,网络模式,IO方式,性能高的原因,为什么单线程,集群方式,分布式锁,Redis如何保证多条命令单线程执行,Redis的数据结构,跳表

Nginx {#toc_12}

负载均衡方式,为什么可以负载均衡,为什么可做反向代理,nginx有什么功能,如何保证缓存时间不一致,怎么设置Nginx

SSM {#toc_13}

spring的启动流程,springboot的启动流程,aop和ioc,springboot的SPI,mybatis的代理模式,#和(,为什么)不可缺少,bean的生命周期,SSM的设计模式,Spring的事物,bean的相互依赖

其他 {#toc_14}

项目流程,限流器,LRU算法,黑名单算法,项目亮点,项目难点,团队如何协作,如何快速找到互相关注的人,tomcat的启动流程,微服务,RPC流程,MQ,docker,k8s,分布式事物,CASE和CAP

关于面试方面,建议和别人一起对练,包括自我介绍(准备两个,一个技术,一个hr),然后通过简历互相问技术。真正面试的时候,一定要放轻松,然后不会的地方就说不会,会一点的地方一定要把会那一点说出来。不要跟面试官说你准备过什么的,这样就显得太刻意了。

posted @ 2020-04-08 13:28  gds111789  阅读(426)  评论(0编辑  收藏  举报