zoukankan      html  css  js  c++  java
  • java常见面试题

    一、java基础知识:
    1、String能否继承,
    2、==和equals区别,
    3、&与&&区别。
    4、接口和抽象类的区别
    5、public,private,protected,无修饰符的区别
    6、final,finally,finalize区别
    7、static和非static区别。
    8、object常用的方法。hashcode,equals,clone,wait,notify
    9、运行时异常和一般(编译)异常区别。常见异常有哪些?exception和error区别?
    10、String,StringBuffer,StringBuilder区别。
    11、Override和Overload的含义去区别。
    12、Java IO与NIO。
    13、socket
    14、http1.0,1.1,2.0区别: https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A
    15、强,软,弱,虚引用区别和使用场景
    强引用: 通常我们使用new操作符创建一个对象时所返回的引用即为强引用
    软引用: 若一个对象只能通过软引用到达,那么这个对象在内存不足时会被回收,可用于图片缓存中,内存不足时系统会自动回收不再使用的Bitmap
    弱引用: 若一个对象只能通过弱引用到达,那么它就会被回收(即使内存充足),同样可用于图片缓存中,这时候只要Bitmap不再使用就会被回收
    虚引用:虚引用是Java中最“弱”的引用,通过它甚至无法获取被引用的对象,它存在的唯一作用就是当它指向的对象回收时,它本身会被加入到引用队列中,这样我们可以知道它指向的对象何时被销毁

    16、lock和synchronized区别?


    二、集合
    1、常用集合有哪些?
    2、hashMap,hashTable,treeMap,currentHashMap区别?
    3、hashMap扩容机制?
    3、ArrayList和LinkedList区别?ArrayList和vector区别?
    https://blog.csdn.net/t0404/article/details/51893153
    三、多线程
    1、如何创建线程?
    2、countDownLatch和CyclicBarrier区别。

    http://www.importnew.com/21889.html


    3、线程池原理
    4、wait(),sleep() 的区别
    wait(): Object类中定义的实例方法。在指定对象上调用wait方法会让当前线程进入等待状态(前提是当前线程持有该对象的monitor),此时当前线程会释放相应对象的monitor,这样一来其它线程便有机会获取这个对象的monitor了。当其它线程获取了这个对象的monitor并进行了所需操作时,便可以调用notify方法唤醒之前进入等待状态的线程。
    sleep(): Thread类中的静态方法,作用是让当前线程进入休眠状态,以便让其他线程有机会执行。进入休眠状态的线程不会释放它所持有的锁。
    四、jvm
    1、java虚拟机内存模型
    2、jvm调优
    3、垃圾回收机制有哪些,每种机制的运行机制,比较常用的组合是什么?
    4、类的加载过程
    https://www.cnblogs.com/xiaoxian1369/p/5498817.html
    五、设计模式
    1、手写设计模式,除单例模式外。
    六、框架
    Spring,mybatis,dubbo,kafka,mq,zookeeper等常见框架。
    dubbo面试题:http://lfc-jack.iteye.com/blog/2386367
    kafka:https://www.toutiao.com/i6456660580726997517/
    mybatis:
    1)https://www.cnblogs.com/wang-meng/p/5701990.html
    2)https://blog.csdn.net/eaphyy/article/details/71190441
    3)https://www.cnblogs.com/huajiezh/p/6415388.html
    1、Spring Bean加载的流程,获得BeanDefition之后做了哪些操作。
    2、Spring事务怎么使用, 默认事务传播行为
    3、spring AOP:http://www.importnew.com/24305.html
    4、Spring IOC:http://www.cnblogs.com/whx7762/p/7792881.html
    七、缓存技术
    redis/memcached
    redis面试50问:https://blog.csdn.net/youanyyou/article/details/79243628
    八、数据库
    1、mysql存储引擎有哪些?区别?
    2、mysql数据库索引结构。B+tree,为什么?
    3、数据库锁,悲观锁,乐观锁。
    4、分库分表
    5、事务
    九、排序
    快速排序
    1、写一个快速排序

    https://blog.csdn.net/laizixingxingdewo/article/details/78928212
    十、LINUX深入理解IO多复路
    https://blog.csdn.net/davidsguo008/article/details/73556811

  • 相关阅读:
    mysql 双机互备份
    ubuntu12.04 qtcreate支持中文输入
    新版IDEA 2020.1遇到的坑Error:(3,32)java:程序包org.springframework.boot不存在Error:
    No partition predicate found for Alias "TS" Table ""
    SQL语句中sum与count的区别
    :line 1:100 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in statement
    mysql计算某个字段最长值
    mysql字段varchar长度分配对性能的影响
    【MySQL】NOT NULL default 0
    FAILED: NoMatchingMethodException No matching method for class org.apache.hadoop.hive.ql.udf.UDFToString with (struct<hashtags:array<string>
  • 原文地址:https://www.cnblogs.com/zhangyfr/p/8781317.html
Copyright © 2011-2022 走看看