zoukankan      html  css  js  c++  java
  • 面试java_后端面经_5

    情话部分:

    小姐姐:为什么有很多人在感情中付出很多,却得不到想要的结果?
    你答:我听过一个这样的故事:讲的是蚯蚓一家人,有一天,蚯蚓爸爸特别无聊,就把自己切成了俩段愉快的打羽毛球去了,蚯蚓妈妈见状,把自己切成了四段,打麻将去了,蚯蚓哥哥接近狂热,把自己切成很多段,结果死掉了,因为他想踢足球。蚯蚓哥哥的死震惊了整个蚯蚓界,各蚯蚓专家呼吁大家要谨慎使用自己的能力。蚯蚓哥哥的死同时对蚯蚓一家造成了不可磨灭的伤害,蚯蚓弟弟为了弥补家庭的残缺,决定把自己切成俩段。第二天蚯蚓弟弟也死掉了。你知道为什么吗?
    小姐姐嗯?不知道(如果小姐姐知道,你就夸她聪明咯)
    你:因为蚯蚓弟弟是竖着切的。
    这个故事告诉我们,有时候呀,我们总是在应该动脑的时候,却动了情!!!



    自我介绍:( 您好(人多就说大家好),很荣幸有机会参加此次面试,希望我今天能有好的表现,现在请允许我介绍一下自己:我叫变坏,今年18岁,毕业于牛客大学软件工程专业(或者说是牛客大学软件工程专业的应届生),在大学期间专业课学习了java这门编程语言,自己在网上也学习了一些相关的技术,在校期间自己也曾和同学使用java开发过一些项目,在学校也曾考取过相关的证书,获得过一些比赛的奖,大学期间还担任过课代表,由于毕业将近,本人决定踏上社会道路,因此在牛客平台看到贵公司的招聘,在此之前也曾在网上了解过贵公司(不要去问公司业务,网上都可以查的),巴拉巴拉吹一吹。从以上简单的自我介绍里,我希望公司能给我一个展示自己能力的机会)

    1 多线程的几种实现方式(继承Thread类,实现Runnable接口,实现Callable接口,线程池)

    2 线程join()方法(等待这个线程死亡,可以使线程之间的并行执行变成串行)

    3 ArrayList的remove操作(ArrayList有俩个remove()重载方法,一个参数是int类型,另一个参数是Object类型,remove(1)是删除索引为1的元素,remove(new Integer(1))是删除元素1,底层是用equals进行比较的。)

    4 HashMap为啥不安全(resize死循环,fail-fast(快速失败))

    5 HashMap1.7和1.8区别(1.7数组+链表,头插入,1.8数组+链表+红黑树,尾插入。resize方法、hash计算方式、扩容后的位置计算方式等)

    6 HashMap如何扩容及Put方法(看源码)

    7 TreeMap(默认按照Key的字典序升序排列,底层红黑树+compareTo()方法,大致就是和根节点比较,小于根节点往左子树继续去比较,大于根节点往右子树去比较咯等等)

    8 concurrentHashMap底层原理(看源码)

    9 如何确保一个集合不被修改(使用Collections.unmodifiableCollection(Collection c)方法创建只读集合)

    10 Iterator和ListIterator有什么区别(前者只能遍历不能修改,后者可以修改元素并且可以逆向遍历、定位当前索引位置,但后者只能用于List及其子类型)

    11 快速失败和安全失败(fail-fast:遍历时对集合进行增删改会抛出Concurrent Modification Exception异常,一般的java.util包下的集合用的就是快速失败。安全失败就是采用复制方式,修改原集合,虽然不会报错,但是也没办法访问修改后的元素。一般在java.util.concurrent包下集合用的就是安全失败)

    12 如果clone单例模式的对象会怎样(不行,这里必须要实现Cloneable接口,所以需要单例的类不能去实现Clonable接口。反射应该可以去获取私有的构造方法从而破坏单例)

    13 hibernate和mybatis区别(相同方面:ORM、都支持jdbc事务、  不同点:sql方面、缓存方面)

    14 mysql联合索引和聚集索引(联合索引就是多列组成的索引,聚集索引CLUSTERED,聚集索引的顺序与数据真实的物理存储顺序一致,特别快,主键!=聚集索引)

    15 行锁和表锁(表锁:不会出现死锁,发生锁冲突几率高,并发低。行锁:会出现死锁,发生锁冲突几率低,并发高)

    16 b树索引和Hash索引区别(大量不同数据查找,hash索引比B树索引效率高,hash索引不支持联合索引的最左匹配规则,hash索引不支持排序,hash索引不支持模糊查找)

    17 软连接硬链接(软连接:新建一个文件来指向别的文件,原文件删除则不可用,可跨文件系统。硬链接:原来的inode link count域再增加1(在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode ),不可跨文件系统,删除原文件也可继续使用。ln是创建硬链接 ln -s是创建软连接)

    18 linux查看进程的命令(ps命令 -A:所有的进程均显示出来、-a显示现行终端机下的所有进程,包括其他用户的进程 、-u以用户为主的进程状态) 
     

    祝早日get心仪offer

    大量面试经验以及学习资料书籍请关注:AVAJ

    回复"offer"进行获取

    365篇大厂java面经 你想要的我这里都有

     
  • 相关阅读:
    JDBC遇到向ORACLE数据库表执行插入操作时,报错“列在此处不允许”
    关于对称加密和非对称加密以及签名,认证和证书的理解
    .net framework 各版本区别
    数据库设计三大范式
    业务系统设计
    修改 Windows 服务器默认远程端口3389
    iis读取不到本地证书问题 提示已经导入成功
    HTTPS 建立连接的详细过程
    使用ServiceStack构建Web服务
    转-微信支付(公众号支付JSAPI)
  • 原文地址:https://www.cnblogs.com/DoubleP/p/11311010.html
Copyright © 2011-2022 走看看