作者:兽兽今天也在被占用 链接:https://www.nowcoder.com/discuss/752898?source_id=discuss_experience_nctrack&channel=-1 来源:牛客网


1.==和equals的区别

2.一个类的两个对象怎么进行比较

3.有没有可能两个对象equals为true但是hashcode不同

4.如果出现了上述这种情况,有可能发生什么情况?

5.用过多线程吗,怎么实现的多线程?

6.线程池的线程具体在什么时候创建一个线程或者销毁一个线程?

7.手动实现一个死锁的情况

8.有ABC三个线程,怎么编程让B在C前面执行,A在B前面执行

9.问一下数据结构,你了解哪些二叉树的种类和他们的具体使用场景

10.AVL树了解吗

11.红黑树了解吗

12.红黑树的具体应用场景,举个例子

13.为什么用红黑树不一直用链表

14.为什么用红黑树不用普通二叉树

15.普通二叉树深度太深会导致什么?

16.B树和B+树知道吗?区别是什么?

17.B树和B+树的应用场景说一下

18.给字段加索引最好怎么加?

19.什么情况下使用复合索引更好?

20.什么情况下会导致索引失效?

21.为什么使用模糊匹配会失效,你能给我解释一下底层原理吗?

22.网络协议有了解吗,为什么Tcp是三次握手四次挥手不是四四或者三三?

23.平时做项目用http还是https?

24.SSL套接字的过程?

25.SSL在历史上有一次心脏流血漏洞,这个漏洞怎么出现的?

26.设计模式用过吗?

27.那我们来聊聊单例模式,单例模式有几种实现方式?(这里有一个地方说错了,说成饿汉是编译时期生成了)

28.你再想想,是编译时期吗?我问下你,你写的代码如何运行,这个过程你说一下(对不起!!!!)

29.为什么双重校验,一次校验不行吗(这题我会!)

30.那怎么用一次校验实现线程安全?(我忘了orz开始胡言乱语,没有自信的问静态内部类可以吗)

31.静态内部类效率也不太好,你能有什么优化方法吗(对不起!!!我真的没用过我不会!!!)

32.再来问问网络安全吧,Sql注入…(慌张打断,说我不了解网络安全,没有学过这方面)

33.没关系,那接着聊,刚才说的hashmap,hashmap怎么解决hash冲突

34.除了链地址法还有其他的解决hash冲突的方法吗(开放定址和再哈希)

35.如果hashmap溢出了怎么办(建立公共溢出区?)

36.公共溢出区也满了怎么办?(啊…?这我真的盲区了,我说hashmap也会扩容吧…?)

37.说一下hashmap扩容的过程?

38.你对jvm有了解吗?说一下jvm的内存分区?

39.堆里面怎么分区的?(这题真不会,只说知道为了方便垃圾回收所以分了新生代区和老年代区,其他的真不知道)

40.没关系,那你知道一个对象怎么从新生代变成老年代吗?(懵逼,对不起,不知道,只简单的知道两个区的定义)

41.手撕代码,一个数组nums,一个数组values,每次只能从nums头或尾取,假设第i次取的值是x,价值=x*values[i-1],求怎么取得总价值最大?(十分钟,心态崩了,真没撕出来,第一次思路错了,就说用动态规划做)

42.为什么动态规划可以做(我不知道,我已经崩溃了)

43.那你说一下这题动态规划做的话时间复杂度是多少(我不知道,我已经不行了,真的快疯了)

44.你有什么问题问我?(评价一下我的面试表现,回答说建议不要背书,多看看底层,哭了,不背书前面这40题我一题也不会啊)




1.职位分析

招银网络科技,招商银行的技术支持子公司,在深圳、杭州、成都三个地方办公,据网络资料分析,每个办公地的政策不一样,福利待遇也有差别。三个机构,新老业务交织,有十几年前的项目维护,也有最新的技术开发,所以还要看分配到哪个机构、什么部门、做什么业务,差距还是蛮大的。


2.面试分析

1)面试时间:一个小时左右,挺长的

2)面试内容:多

3)试题难度:中级

4)试题拓展:多

5)核心考点:对象+多线程+集合+数据结构+SSL+设计模式+jvm+算法

6)总结:面试时间比较长,但问的知识点不多,在数据结构上问了很多相关的内容,理论内容居多,涉及底层内容较多,如果是为了考察面试者的基础能力,那很全面了。问题之间的关联性很大,基本都是由上一个问题接着展开问的,这种情况要不就是面试官理论很强,要不就是面试官自己也一知半解,顺着往下问不需要想新的问题。对面试者而言,这样的面试问题比较考验抗压能力,因为不知道回答到什么程度算满意,也不知道自己说的哪句话会成为下个问题,心理压力较大,但如果提前将知识点串联过,反而很轻松。


3.问题解析——SSL
1)

SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

2)

2014年4月7日,OpenSSL发布安全公告,在OpenSSL1.0.1版本至OpenSSL1.0.1f Beta1版本中存在漏洞,该漏洞中文名称为心脏滴血,英文名称为HeartBleed。其中Heart是指该漏洞位于心跳协议上,Bleed是因为该漏洞会造成数据泄露。即HeartBleed是在心跳协议上的一个数据泄露漏洞,OpenSSL库中用到了该心跳协议。HeartBleed主要存在与OpenSSL的1.0.1版本到1.0.1f版本。利用该漏洞,攻击者可以远程读取服务器内存中64K的数据,获取内存中的敏感信息。


大家有什么关于面试想了解的内容,可以在文末留言~