zoukankan      html  css  js  c++  java
  • HashMap(二)之面试题系列

    定义类考题

    • 什么是Hash?什么是HashMap?
    • HashMap 的工作原理是什么
    • HashMap HashTable的区别
    • 为什么要用HashMap

    源码类考题

    • 什么是hash碰撞,怎么减少碰撞,
    • hash是怎么实现的
    • 为什么hashMap 选择用红黑树
    • 重新调整 HashMap 大小存在什么问题吗
    • hashmap的主要参数都有哪些?
    • hashmap的数据结构是什么样子的?自己如何实现一个hashmap?
    • 说说hashmap的存取过程?
    • 说说hashmap如何处理碰撞的,或者说说它的扩容?
    • 当两个对象的 hashCode 相同会发生什么?

    扩展类考题

    • 谈谈你对红黑树的理解
    • 红黑树 二叉树什么关系
    • 能解决hash碰撞吗,解决方案是什么
    • HashTable是什么
    • 可以使用 CocurrentHashMap 来代替 Hashtable 吗
    • CocurrentHashMap1.7 1.8优化了什么
    • 结合CocurrentHashMap谈谈 CAS

    总结

    其实HashMap 作为Java集合类中key-value结构的代表,对其的掌握很大程度能考察你的java基本功。

    围绕以上问题,其实考察的是这几个方面。

    • HashMap是什么,原理?
    • HashMap源码是否熟悉
    • 扩展方面,整个Collection体系你知道多少?HashTable,HashSet,CocurrentHashMap等,简单的比较以下就明了
    • 内功,通过源码分析,往里挖,可能问问Hash算法,高并发原理等,展开扩展新的考点。

    那么带着这些问题,我们来分析以下HashMap的原理,顺便看看能不能以上几个方面找到答案!

     

    参考文章:

    面试总结hashmap

    HashMap常问面试题整理

    HashMap?面试?我是谁?我在哪

     

  • 相关阅读:
    Kaggle & Machine Learning
    练习题目总结
    日常练习//算法类
    论文阅读
    codeforces专项
    10.26—11.1
    常见算法笔记
    DM/ML学习实践(一)
    Python常见代码
    HDU 4251 --- 主席树(划分树是正解)
  • 原文地址:https://www.cnblogs.com/Profound/p/10878828.html
Copyright © 2011-2022 走看看