设为首页 加入收藏

TOP

25届实习/秋招-java面试-JavaSe面试题整理-牛客网(二)
2023-09-23 15:44:29 】 浏览:132
Tags:秋招 -java 面试 -JavaSe 牛客网
y函数,删除和加入代价都很大

  • 数组为什么可以随机读取,底层Object[]数组

  • 写时复制 并发安全CopyOnWriteArrayList 写入操作的实现

  • copyOnWriteArrayList

  • ArrayList中删除偶数,不能用remove

  • 多线程往ArrayList中写10万条数据,会出现什么问题

  • LinkedList

    • arraylist对大片的连续内存有很高要求,linkedlist只需要碎片空间
    • LinkedList为什么是双端链表,如果一个链表没有被引用,会被立马删除吗
    • 分别分析一下插入、删除、查找的时间复杂度。LinkedList,增删快查询慢,
    • 可以通过什么数据结构来加快LinkedList的访问
  • 这两个插入哪个快。插入海量数据,arraylist和linkedlist哪个快

  • 数组是否有并发安全问题(如何解决),ArrayList和linkedlist的多线程问题

  • Set:

    • HashSet: hashset是怎么基于hashmap实现的。

      • 如果自己什么设计
    • 如何去重:两步

      • 如果保存的是一个自定义的对象的话,那我这个对象应该是有什么动作吗
    • Set的底层:是哈希表。--即为下面的HashMap

      • 什么时候转为红黑树。--为什么是无序的。
    • LinkedHashSet为什么有序:

      • 多一个顺序存储的链占据空间。
    • HashSet和TreeSet有什么区别?

      • 集合是如何排序的
      • 如果传入TreeMap的key值是对象,那么对象应该满足什么条件(有Comparable接口)
        • 为对象的类//用的集合设置比较器,implements Comparable接口。重写compareTo方法。
        • 代码
        • 比较器底层原理
      • treeSet和treeMap的区别?
  • Queue

    • 常用的方法。
  • Collections的区别

    • 工具类
    • Collections.sort和Arrays.sort:
    • 集合的选用,是否排序
    • collections有什么实现

  • Map:

    • 集合关系(Collection、Map)

      • Map集合的体系特点。键的特点,有key重复的Map吗。
      • Map是接口,HashMap是实现,用new
      • map集合下常用的子类有哪些/实现类
    • 常用的api

      • 如何获取键值对,keySet( ) 和 .values( )
    • Map集合的遍历方式:有几种

      • 通过键,函数KeySet, entrySet()
      • Iterator<Map.Entry<String, Integer>> iterator = maps.entrySet().iterator();
    • hashmap

      • 特点:

        • key如何保证唯一,是否可为null

        • 是有序还是无序的

      • hashmap在1.7和1.8的区别

      • 底层结构--源码

        • 1.8之前为什么这么设置,解决hash冲突有别的办法吗
        • 阈值初始大小
        • 为什么引入红黑树(为什么不用avl树,而不是BST、B+、堆等等)? 。红黑树自旋条件? 红黑树的性质、红黑树如何调节平衡
      • 成员属性:

        • 什么时候转红黑树,为什么红黑树阈值是8不是6或者10
        • 红黑树会退化成链表吗
        • 为什么负载因子是0.75 ,初始容量
      • 成员方法:

        • Put,如果Key冲突的是怎么处理的?如何判断是覆盖还是加数据?
          • JDK1.7 冲突的时候为什么采用头插法,添加元素怎么确定。头插法和尾插法的区别。循环链表问题
          • 头插的问题,单线程扩容时先遍历数组table,接着遍历table[i]对应的链表。
          • hash去重的方法,hash碰撞的解决方法。(哈希算法有几种、一次性哈希、如何判断这个哈希算法优秀)。hash表怎么实现?答了线性探测,二次探测和开链,追问会在不同情况下会用哪种实现方式。了解一致性哈希吗
        • resize()
        • get流程、怎么哈希
        • hashCode()在HashMap的containsKey()函数中的用法,底层实现
        • hashCode()和equals()有什么作用、区别。
      • 并发异常

        • java的hashmap的fastfail机制。

        • 为什么不是线程安全的。它在什么情况下会出现线程不安全的问题,不安全情况下会出现什么现象?说一下场景

        • 如何线程安全,回答读写锁或者concurrenthashmap

        • 平时使用hashmap要关注那些方面的东西

        • 有措施能让Hashmap变得线程安全吗?除了ConcrrentHashmap和Hashtable呢?

          • 加锁()--synchronize-读写锁-reentrylock
            • 读写锁的实现原理
          • cas(乐观锁)cas和syn加在哪
    • hashmap和treemap有什么区别,什么时候用?treemap底层数据结构是什么?

    • concurrentHashmap


    泛型的理解和应用场景

    • 使用泛型有什么好处

    • 类方法接口

    • 通配符

      • 泛型中如何确定上下限(<? extends T> <? super T>
    • 泛型检查

    异常:

    • 基本介绍
      • exception和error区别。
      • 异常继承的根类, 根类有哪些方法
      • 编译期异常和非编译期异常区别
    • 编译异常:
      • Exception , throws,的作用
      • try/catch机制
        • try finally不用catch行吗
    • 运行时异常:
      • 遇到过哪些异常,(空指针在哪遇到了、SQL 异常、类型转换异常)
      • Exception有哪些,从上往下说说看
      • 谈谈 Java 异常处理机制
    • final/finally/finalize的使用?

    IO:

    • File

      • 打开一个文件的流程
    • IO stream

      • 序列化Serializable。
      • 实现 Serializable 的类修改了类包的路径,那么反序列化还能成功吗?使用 JSON 可以反序列化成功吗?上面的问题,使用 Object write 的方式会不会有影响
      • serializable 接口的作用 是否实现这个接口在类上有什么区别。自带的序列化方法有哪些
      • 序列化的兼容性问题
      • jdk的stream,Java streamAPI,parallel StreamAPI
    • IO了解吗

      • BIO、AIO、NIO用过吗。谈一下 I/O 多路复用,基于IO多路复用(epoll),两个线程之间如何通信。epoll的优点。
      • 异步IO是如何实现的
    • IO流都有哪些、继承关系和应用场景;Stream流的实现原理;

    反射

    • 反射的理解
      • 能干吗
      • 原理和思想
      • 优缺点
    • 应用场景:什么时候用,怎么用,用过吗
      • 第一步: 获取类
      • 获取构造: 你自己写过反射吗,反射可以调用私有构造函数吗
        • 私有构造器
      • 一个类的某个属性是私有的没有get/set方法,如何通过反射获取,代码上怎么具体实现
    • 获取私有变量要怎么做,获取注解的信息要怎么做,反射效率低将反射结果进行缓存有遇到过吗

    设计模式

    • 单例模式:

      • 两种分类:

        • 区别
        • 分别应用在什么场景下
      • 饿汉式:

        • 静态变量的方式:
      • 懒汉式:

        • 静态内部类实现单例模式为什么属
    首页 上一页 1 2 3 下一页 尾页 2/3/3
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇计算器思想-中缀表达式转化为后缀.. 下一篇JDK8升级JDK11最全实践干货来了

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目