JAVA2019面经分享

作者:公众号:算法修炼笔记

学习资料篇

  • Java
    • Java核心知识
      • 入门:《Head First Java》
      • 进阶:《Java编程思想》、《Effective Java》
    • JVM
      • 《深入理解Java虚拟机》
    • Java并发与多线程
      • 面试:《Java并发编程的艺术》(适合在时间紧张的时候,准备面试)
      • 进阶:《Java并发编程实战》(想深入学习,用这本)
  • 面向对象与设计模式
    • 《Head First 设计模式》
    • 马士兵的设计模式
  • 数据结构与算法
  • 计算机网络
    • 入门:
      • 《图解TCP/IP》
      • 《图解HTTP》
    • 进阶:《TCP/IP详解·卷1》或者《计算机网络:自顶向下方法(原书第6版)》(看一本即可)
  • OS
  • 数据库MySQL
    • 入门:《MySQL必知必会》
    • 进阶:
      • 《MySQL技术内幕 Innodb存储引擎》
      • 《高性能MySQL》(这本更好,不过有点难)
  • 数据库Redis
    • 《Redis设计与实现》
  • Web与常见框架(框架这部分,我认为通过官网直接上手实战,然后再去分析其源码)
  • 分布式架构
    • System Design Primer:目前这个仓库收集到了好些系统架构和设计的基本方法。其中包括
      • CAP理论
      • 一致性模型
      • 可用性模式
      • DNS
      • CDN
      • 负载均衡
      • 反向代理
      • 应用层的微服务和服务发现
      • 关系型数据库和NoSQL
      • 缓存
      • 异步通讯
      • 安全等
  • 项目
  • Git& Github
  • 作者:公众号:算法修炼笔记
    链接:https://www.nowcoder.com/discuss/122463?type=2&order=0&pos=6&page=2
    来源:牛客网
     

    2.5.1 初面(1个多小时)

  • 介绍一下你zhiji
  • 全程怼Java项目
    -介绍一下这个项目?
    -为啥做这个项目?
    -用了哪些技术?
    -你自学的技术是哪些?
    -详细谈谈你对Spring的理解,和Spring Boot有啥区别?
    -既然谈到了AOP,你在项目中如何使用AOP的,AOP还能有哪些应用?
    -AOP的原理是什么?有哪些实现的方式?
    -既然谈到了动态代理模式,请谈谈动态代理有哪些实现方式?(jdk & 字节码方式)
    -这2种不同的实现方式中,目标类和代理类的关系是?
    -接着深入的谈谈你了解的其他设计模式?(单例模式 工厂模式 抽象工厂模式 建造者模式 策略模式 装饰器模式 迭代器模式 生产者消费者模式 责任链模式 一口气连原理带例子说完)
    -既然谈到了生产者消费者模式,请问你项目中是否使用这个模式?
    -责任链模式如果让你写你会怎么写?(双端链表)
    -策略模式在Java集合框架中是否有用到?装饰器模式呢?
    -Redis在项目中怎么用的?为啥这么用?一般Redis的应用场景是什么?
    -谈谈Redis的数据类型以及应用场景?是否看过其源码?
    -Redis是单线程的还是多线程的?为啥是单线程的还这么快?
    -谈谈Redis的过期策略以及内存淘汰机制
    -如何解决Redis和和数据库双写一致性的问题?
    -用户的注册和登陆你是如何解决的?
    -拦截器是如何使用的?
    -拦截器和过滤器以及责任链模式有何关系?
    -谈谈敏感词过滤算法都有哪些?你是如何实现的?优势是什么?为啥这么设计?时间复杂度如何?
    -你做的站内信是否是实时的?如何做成实时的?有没有思路?或者现在想想?
    -谈谈你对cookie和session的理解
    -谈谈你对token的理解
    -谈谈你对分布式session的理解
    -谈谈你对微服务框架的理解
    -谈谈你对分布式的理解

作者:公众号:算法修炼笔记
链接:https://www.nowcoder.com/discuss/122463?type=2&order=0&pos=6&page=2
来源:牛客网
 

2.7.1 技术1面

  1. 详细谈谈Java基类Object类以及其方法
  2. 详细谈谈equals()和hashCode()
  3. 详细谈谈wait() notify() notifyAll()
  4. 详细谈谈final finally finalize的区别
  5. 写出单例模式的双检锁形式,序列化以及反序列化以后是否仍然是单例?
  6. 手撕代码:
    -链表中间值
    -一个数字中1的个数
  7. ArrayList vs Vector Vs. Linkedlist
  8. hashMap vs hashTable vs. concurrentHashMap
  9. 线程同步机制:synchoronized vs. ReentrantLock 、volatile
    -synchoronized底层原理以及锁的升级和降级
    -ReentrantLock的底层原理
    -synchoronized vs. ReentrantLock
    -synchoronized vs. volatile
    -volatile的作用是什么?如何实现的?了解happen-before吗?
  10. 线程池原理、参数以及给定实际的场景,然后设计线程池
  11. 知道JVM的内存模型和运行时区域吗?分别说一说(注意这里很容易错,二者是不同概念)
  12. 平时学校开设哪些课程?
  13. 有什么想问的?

2.8.1 技术面

  1. new一个对象的过程
  2. cap定理
  3. hashset
  4. list vs set
  5. lock的底层
  6. http的方法有哪些
  7. 线程池底层怎么实现的
  8. threadlocal
  9. mysql引擎有哪些
  10. jdk 8的lambda表达式
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值