小小作为一个非著名博主,于近日跑路,一份面试题即将呈现。

跑路场景

跑路分为两个部分,分别是离京,和被迫进京。

离京

离京当天是半夜了,在半夜的时候到达自己的老窝。这是一条相当漫长的路。

进京

令人忧伤的是,进北京的时候,也是这样,做在了第二节车厢。小小望着窗外黑洞洞的一切,相当的无语。

回家

这是小小家门前的大楼。

拍照技术尚可,不过一般般。

总结

怀着忧伤的心情,在家呆了三天,垂头丧气的跑了回来。

面试现场

面试官:听说你上次还差一点点,再看数才及格,但是我感觉你表现还是可以的,这次破例再来面试一遍。小小:大多数人还是比较喜欢看再看的,相当感谢面试官给予一次再次面试的机会。面试官:谈一谈你对Java面向对象的理解。小小:面向对象的核心是封装,继承,多态。面试官:继续深入 小小:封装是把现实对象封装成为一个JavaBean。继承是使用extends关键字,对另外一个对象的属性和方法进行继承。多态是,设计一个接口,有多个实现这个接口的方法。面试官:你是不是忘了一个?是不是还有一个抽象。小小:嗯嗯,是的,还有一个抽象。抽象是把一堆类的公有的属性和方法抽取出来,作为抽象类的一部分。面试官:Java集合你用过吗?小小:Java集合用过,小小常用的List集合和Map集合。List集合前面定义的接口是List,Map集合前面的接口是Map。List集合底层是数组和链表,Map集合是使用Key和Value。面试官:HashMap你用过吗?小小:HashMap用过,这里简单使用了一下HashMap 面试官:HashMap底层是什么?小小:HashMap底层是一种数组+链表的数据结构,在put操作中,通过内部定义算法寻找到指定的下标,把数据放入数据元素中,若通过算法发现已有元素已在该元素中有元素,此时会产生hash冲突,链表的产生的意义在于解决掉hash冲突。面试官:讲一下hashMap的数据结构吧 小小:HashMap有三种数据结构,分别是数组,链表,哈希表。对于数组来说, 数组存储区间是连续的,占用内存严重,故空间复杂度大。但数组的二分查找时间复杂度小,为O(1);数组特点:寻址容易,插入和删除困难;链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表特点:寻址困难,插入和删除容易。哈希表那么我们综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构,这就是哈希表。哈希表((Hash table)既满足了数据的查找方便,同时不占用太多的内存空间,使用也十分方便。哈希表有多种不同的实现方法,HashMap则使用的是拉链法,也叫作【链地址法】;哈希表是由数组+链表组成的,一个长度为16的数组中,每个元素存储的是一个链表的头结点。那么这些元素是按照什么样的规则存储到数组中呢。一般情况是通过hash(key)%len获得,也就是元素的key的哈希值对数组长度取模得到。比如上述哈希表中:

 12%16=12,28%16=12,108%16=12,140%16=12

所以12、28、108以及140都存储在数组下标为12的位置。

面试官:HashMap源码你看过吗?小小:没有,一脸无辜(o´・ェ・`o) 面试官,滚!回家。

第二发面试

鉴于你的点赞数不错,这次嘛,作为资深的HR,本HR再次破例让你第二发面试。面试官:上一次不是说到了HashMap,HashMap源码你看了没?小小:我!看啦。(骄傲的举起双手) 面试官:你既然已经看过源码了,那我问你,HashMap线程安全吗?小小:安全!面试官:(阴沉着脸)你到底看了没, 小小:(委屈状)我看了。。。。。。面试官:好吧,你回家百度一下,HashMap到底线程安全不安全。

第三发面试

鉴于你阅读量,和联合出版社送书的活动都不错,所以呢,所以破例破例破例给你最后最后最后一次面试。面试官:上一次说了,HashMap线程安全吗?小小:不安全。面试官:(心里想)猜你回家也没看,我也不问那么仔细了。面试官:JVM你了解过吗?小小:JVM是一种运行在操作系统之上的,可以实现跨平台的运行。面试官:JVM内存划分讲一下吧。小小:我。。。。w(゚Д゚)w 小小:在桌子底下偷偷摸摸的拿出手机,谷歌一下:JVM的内存。眼睛瞟着手机, 小小:继续说道:JVM内存分为堆内存,方法区和栈三大部分,堆内存是最大的一部分,分为老年代和新生代,两大部分组成。年轻代内存被划分为三个部分分别为Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配。面试官:我瞄的,早都看见你桌子底下的手机了,别以为我不知道你干啥了。面试官心里想。面试官:我继续问你,Java双亲委派机制你知道吗?小小:我。。。。只知道classLoader,和底层是C++编写。面试官:唉,扶不起来的阿斗,你回家了。

最后一发

小小继续坚持不懈,苦刷面试题,终于经过再三的投递简历,又一次的面试上了这家企业。面试官:什么是双亲委派呢?(我猜你回家没有看) 小小,切,这次本小小回家可看了,这就听我慢慢说来。小小:一个类的加载需要由其父类进行加载(够专业不!)所有的线程都有上下文,通过上下文的方式进行加载。(够牛逼不!) 面试官:没听懂。过 面试官:数据库你用过哪些?小小:数据库用过MySql,等一些。面试官:MySql索引你了解吗?小小:了解,数据库中的MySql中的索引用的是B+树,通过树的数据结构的方式实现。面试官:Spring 用过吗?小小:用过 面试官:最核心的是什么?小小:IOC和AOP 面试,那就介绍一下IOC和AOP 小小:IOC是有一个容器,把原先new的过程由程序员代new变成容器代new。AOP是通过注解,实现依赖注入。面试官:MyBatis用过吧,源码,看过吧。小小:看过 面试官:问你个问题,MyBatis接口函数可以随意重载吗?小小:不可以随意重载,因为mybatis里面将接口里面的方法名称和配置文件里面的id属性进行唯一配对,在同一个命名空间下只能有一个id,那么所有函数名称相同的重载函数都会被绑定到一个id上,所以,如果要实现函数的重载,必须让一个SQL语句去适应多个函数的参数,如果是单纯的重载是肯定不行的(重载函数的定义就是参数相关),但是得益于mybatis的多种传参方式和隐性的分页功能,可以在接口里面进行函数重载,但是还是需要将所有的重载函数适配到同一个id的SQL上面去,仍然有很大的局限性,并不是可以随意的进行重载。

核心在于,如果重载会导致出现一对多的情况。

送书

小小本周送书啦。这次送的书是Java深度调试技术。

参与抽奖方式

老规矩,从留言区中选中奖者,按照点赞数选择,点赞数高着或者书,本次送书一本。

送的书籍

本次送的书为,各位尽快留言,将会在下周一的时候,送出本周的书。

小明菜市场

推荐阅读

● 警钟 | 还不会Spring Boot集成JWT,你可能错过了大厂的Office了

● 图例 | Java混合模式分析之火焰图实例

● 面试 | 从一个API缓存演化,详细了解Redis各项功能

● 理论 | 六种延迟队列的实现方案

● 实战 | Element UI 父子组件传值与事件绑定(逆向)

震惊 | 某公司实习生跑路,竟为了学习偷盗面试题相关推荐

  1. 实习生跑路留了一个大坑,搞出2个线上问题,我被坑惨了

    小编今天被实习生坑惨了... 昨天线上问题 昨天出了一个线上问题,今天又出了一个线上问题. 昨天出的一个线上问题. 监控开始报大量的异常pvlost,接口访问过来报500,就报pvlost了. 小编赶 ...

  2. 震惊!年薪40W+的前端竟跪在这道面试题...

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  3. 手误【删库】 == 跑路,不存在的 ——删瓦辛格

    前言 今天公司服务器的宝塔打不开,让我去修(ps:宝宝委屈) 打开找一下问题所在 问题: 发现是宝塔官方的cdn好像挂掉了 解决思路: (1)本地重新搞个服务器装宝塔,发现没问题 (2)比较一下,发现 ...

  4. 手误【删库】 == 跑路,不存在的 ——删瓦辛格

    手误[删库] ==  跑路,不存在的  --删瓦辛格 前言 今天公司服务器的宝塔打不开,让我去修(ps:宝宝委屈) 打开找一下问题所在 问题: 发现是宝塔官方的cdn好像挂掉了 解决思路: (1)本地 ...

  5. 删库跑路升级版,著名大厂员工离职为报复公司,直接删虚拟机!

    作者 | 纯洁的微笑 来源 | 纯洁的微笑(ID:keeppuresmile) 全世界的程序员都一样,被逼急了都会做出毁灭性的行为... 来自印度的程序员 在大西洋的加利福尼亚州,有一个程序员叫做 S ...

  6. 从删库到跑路,就是这么迅速!程序员为了报复同事删了公司数据库

    从删库到跑路,就是这么迅速!程序员为了报复同事删了公司数据库 一只有头发的程序猿 2019-08-23 09:38 做过互联网行业的都知道,数据库对公司是至关重要的,存储了大量的数据在里面,要是没有这 ...

  7. 删库跑路!创世人回应了,公司市值暴跌 10 亿始末!

    也就是前不久,我写了一篇文章<"删库跑路"这件事情真的发生了 ,还是技术总监干的!>报道了2018年的一起删库事件. 当事人对公司离职处理不满,离职后远程登录公司服务器 ...

  8. 公司拖欠后端工资逼急了可以删库跑路,逼急了前端该如何何去何从?

    loonggg 读完需要 4 分钟 速读仅需 2 分钟 最近我在知乎上看到一个非常有意思的问题: 公司拖欠后端工资逼急了可以删库跑路,逼急了前端该如何何去何从? 我感觉提问这个问题的同学,显然感觉前端 ...

  9. 俞敏洪老师有担任,不像有的培训机构老板,公司一倒闭就卷钱跑路

    俞敏洪:未来要带几百位老师直播带货卖农产品 11月7日晚间,新东方创始人俞敏洪在个人的抖音直播中透露新东方近期动向,他透露新东方将退租1500个教学点,这些教学点都是这两年新装修的. 而新东方至今未出 ...

最新文章

  1. 关于javascript闭包中的this对象
  2. 一年75次上微博热搜!宇宙首富Tony老师上线!马斯克DIY发型
  3. 探React Hooks
  4. c++与C# winform的消息通讯--(结构体与byte数组的使用)
  5. java 手机 上传图片_在手机端使用拍照功能上传图片的功能的解决文案
  6. java 星期顺序_第8周 【项目3-顺序串算法】
  7. DevOps到底是什么意思?
  8. win8消费者预览版Chrome无法设置默认浏览器
  9. JAVA程序设计:接受数字并求和
  10. 《X战警:黑凤凰》国内票房破2亿 口碑却落了《复联4》一大截
  11. python字体大小颜色_在matplotlib中使用单词作为标记的“干净”方式?使字体大小和颜色不同?...
  12. 【GNN】图神经网络的解释性综述
  13. 抽象类、接口、内部类
  14. 微信朋友圈服务器缓存,如何找到微信朋友圈照片缓存
  15. 计算机系统的基础必备软件,电脑必装软件推荐:基础篇——够用就行
  16. 【教程】怎样把高德打车优惠券的cps链接添加到微信公众号里面
  17. 解决element 表单验证不通过的俩大坑
  18. main函数的argc与arg
  19. PHP非诚勿扰-我不是“拍黄片”的!
  20. 第08课:子窗口交互

热门文章

  1. CoreOS 收购 Quay.io 发布私有 Docker 仓库
  2. GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”
  3. DWR自学笔记(1)HelloWorld
  4. [Oracle]oracle概念和术语
  5. pytorch学习笔记(6):GPU和如何保存加载模型
  6. 【BZOJ2229】【ZJOI2011】最小割
  7. java----单例模式
  8. CodeForces 592C The Big Race
  9. 华为4X和4C无法使用电信4G的解决办法
  10. centos6.5建立cloudera-cdh4.6本地源