美文网首页
java面试

java面试

作者: biaoqianwo | 来源:发表于2018-06-03 11:14 被阅读31次

    一面基础,二面项目经验,三面为人

    一 基础

    Java基础

    https://zhuanlan.zhihu.com/p/37430187

    • java和C++ php等语言的区别

    • 对象OOP思想

    • 抽象类与接口
      覆盖和重载
      拆箱装箱
      传值方式 http://ifeve.com/java-pass-value/

    • 集合:
      集合有那几种?
      list和set的区别?
      hashmap的实现,冲突,初始容量和加载因子?怎么扩容?
      如何取出hashmap中的value存入list中?
      hashmap扩容过程
      currentHashMap和HashMap的区别
      解决hash冲突的方法有哪些?
      HashMap中如何解决hash冲突
      谈谈hashmap原理
      heap和stack的区别是什么?

    • 泛型

    • 注解

    • Java IO 与 NIO

    • JDBC
      JDBC是单例还是多例
      JDBC和MyBatis

    • JUnit

    • 异常
      Java中的异常分类

    • XML

    • 网络编程
      Socket讲讲。

    • 编程规范 https://zhuanlan.zhihu.com/p/37360620

    高并发编程(JUC 包)

    https://zhuanlan.zhihu.com/p/37430315
    进程之间如何通信
    进程和线程的区别
    线程有哪些状态
    如何创建线程
    wait和sleep的区别
    ThreadLocal
    Atomic https://blog.csdn.net/zhangerqing/article/details/43057799
    如何避免线程死锁
    谈一下悲观锁和乐观锁的原理和应用场景
    一个库存变量,多个线程需要操作,如何保证正确性?
    创建100个线程,如何使得这100个线程几乎同时启动?
    多线程包concurrent
    说说volatile底层原理

    JVM

    https://zhuanlan.zhihu.com/p/37430400
    内存调优工具
    内存泄露和内存溢出
    OOM异常的发生原因是什么?
    JVM内存模型及调优
    垃圾回收(GC)
    JVM内存管理和回收机制

    Java版本特征5 6 7 8

    https://zhuanlan.zhihu.com/p/37430472
    https://zhuanlan.zhihu.com/p/37430948

    网络协议

    TCP协议中的三次握手和四次挥手(图解)
    tcp和udp的区别
    Htttp协议
    socket
    websocket
    restful
    SOAP

    数据库

    https://zhuanlan.zhihu.com/p/37501500
    数据库的范式

    • 数据库引擎
    • Mysql优化
    • Redis
    • MongoDb
    • 数据库的锁有哪几种?语句怎么实现
      数据库分页查询
      数据库的搜索引擎
      说说事务吧,事务的四大特性,四大隔离级别
      having的用法,和where的区别
      mysql和sqlserver的区别有哪些
      limit的使用相关
      死锁的四个必要条件
      具体案例,如何避免死锁?某个线程只有获得A锁和B锁才能对某资源进行操作,在多线程条件下,如何避免死锁?
      对MySQL的了解,和oracle的区别

    设计模式

    https://blog.csdn.net/qq_25827845/article/details/52932234
    控制反转
    手写模式
    对设计模式的看法和认知
    有哪些设计模式
    模板模式

    数据结构与算法

    https://www.lintcode.com/zh-cn/tag/lintcode-copyright/
    https://www.jiuzhang.com/solution/

    • 快速排序怎么实现的?
    • 数据库索引为什么用B树?原理
      大量数据去重:Bitmap和布隆过滤器(Bloom Filter)
    • Java 中的数据结构和算法 set的底层数据结构是什么?
      写个排序算法吧
      什么因素会影响到你选择不同种类的排序算法
      KMP算法
      合并有序链表
      单链表反转
      单链表有环推导公式
      LRU算法,最近被使用算法,使用链表实现一个
      自己实现一个String2Int的算法。
      找出一个数组中的多数元素?追问,时间复杂度可以再小吗?

    二 项目实战

    https://zhuanlan.zhihu.com/p/23517856

    架构

    • 高并发
    • 消息队列
      消息队列设计精要 美团技术团队!
    • 负载均衡
    • 微服务
    • Docker
    • 大数据(Spark+Hadoop)
      spark streaming计算原理和过程
    • 缓存 redis等 如何实现分布式缓存
    • kafka分区
    • 分布式

    三 面试技巧

    题库

    2017 暑期实习校园招聘(Java后台开发方向)面经分享

    简历

    http://tieba.baidu.com/p/5152132217
    简历应该突出表现自己优秀的地方,所以我将个人技术博客和 github 地址放到了相对靠前的位置,使面试官或者 HR 可以一眼看到。

    给大家一个小提示,那就是必须对简历上所写的知识点有一定了解,不懂的就不要写上去了,因为你会被问的很惨(即使一面面试官不问,三面面试官也会问的)。


    image.png
    • 自我介绍
    • 项目介绍
    • 团队作用(领导力)
    • 对新公司的认识 项目看法 团队看法等

    相关文章

      网友评论

          本文标题:java面试

          本文链接:https://www.haomeiwen.com/subject/yisdsftx.html