解优人才网 发表于 2019-1-9 10:29

互联网职位个人面试总结与心得分享c++/java

今年的找工作之旅也差不多到尾声了,其实已经一两个月没有面试了,想了一下还是记录一下面的几个公司吧,只记得那些能记起来的了。
我面的岗位是Java研发工程师,所以涉及的都是这方面的知识点吧。。


实习篇


1.摩根士丹利


第一场面试就是摩根。。。面试官很nice,主要问的问题:
(1)介绍了一下项目并说说自己做的那一部分(介绍完才发现,自己做的太low了,还需准备)
(2)多态。c++中虚函数,在派生类中重写虚函数,在运行时怎么知道我具体是运行的哪个子类中的。
(3)java中常用的Collection有哪些
答: List,包括ArrayList和LinkedList。ArrayList内部是由数组实现的,可改变长度。LinkedList是链表实现的,不可改变长度。
问:你说的可变长度和不可变长度,是不是意味着你一般定义LinkedList的长度,比方说10,然后超过就不可以了?
答:不是的,不一定是要写明LinkedList的长度,不定义的话应该是机器决定你的LinkedList较大能开辟多少的空间。。我只要在我需要的范围内add数据。
问:那如果有很多很多的add操作,会遇到什么问题,不可能无限的空间给你add啊
答:是啊。。。所以有一定的范围,LinkedList较大能有多少空间我觉得应该是机器决定的吧,32位机和64位机应该不一样吧(蒙,其实我不太清楚)
问:好吧,还有其他你常用的Collection吗?
答: Set,主要有HashSet,TreeSet,LinkedHashSet,然后分别解释了一下这三者之间的不同
问:分析一下HashSet和TreeSet的复杂度,插入,查找等时候。
答: HashSet应该跟它的hash有关吧,如果只是普通的散列码,可能会造成很多冲突,这样链表就会比较长,查找的时候遍历链表时就会比较慢,但是你用优化方法去解决冲突,例如二次探测什么的,减少冲突,应该会比较快吧,TreeSet内部使用的红黑树,查找和插入顺序应该是O(log(N))吧。。。
然后就换另一问题了。。。没再继续问下去。

页: [1]
查看完整版本: 互联网职位个人面试总结与心得分享c++/java