一面
String和StringBuffer区别
ArrayList、LinkedList、Vector区别
Java的GC
线程安全和进程安全
Java类是如何加载
讲了双亲委派模型。
静态链接和动态链接(不会)
面试官的描述是和JNI有关,但是不了解。
动态链接:只建立一个引用的接口,真正的代码和数据存放在另外的可执行模块中,在运行时再装入;
静态链接:把所有的代码和数据都复制到本模块中,运行时就不再需要库了。
TCP和UDP
TCP四次挥手
DNS协议
DNS劫持(不会)
DNS劫持就是通过劫持了 DNS 服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原 IP 地址转入到修改后的指定 IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持 通过篡改 DNS 服务器上的数据返回给用户一个错误的查询结果来实现的。
DNS劫持症状:某些地区的用户在成功连接宽带后,首次打开任何页面都指向 ISP 提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问 Google 域名的时候出现了百度的网站。这些都属于 DNS 劫持。
对于DNS劫持,可以通过手动更换DNS服务器为 公共DNS 解决。公共DNS是一种面向大众的免费的 DNS 互联网基础服务。
物理内存和虚拟内存
算法
快排和第K大
算法
多个询问找区间最大值。
回答用线段树,说了复杂度,就没有问下去了。
红黑树(不会)
我解释完红黑树的特性后,问我红黑树怎么插入,表示不会。然后问我AVL怎么插入,表示不会。说竞赛中用的比较多只是Splay,其他都是用底层实现的库函数。
思维题
给出一个圆的半径,现在要随机返回一个点的坐标,使得圆内的点分布均匀。
还有一些Java相关的问题忘了。
二面
自我介绍并查户口
打什么游戏
介绍实习
算法
实现itoa()。
算法
实现一个将数组元素洗牌的函数。
Java的容器
Java的GC以及何时触发GC
有点忘了何时触发。
Minor GC
在Eden区域满了的时候调用Minor GC。
Marjor GC && Full GC
- System.gc()的调用。
- 老年代空间不足。
- 永久区空间不足。
- 统计得到的Minor GC晋升到旧生代的平均大小大于老年代的剩余空间。
- 堆中分配很大的对象。
实现无锁队列(不会)
乱讲了一些乐观锁和CAS的东西。
可以使用 AtomicReference
实现队列结点,Atomic类自带CAS操作。也可以参考Java的ConocurrentLinkedQueue的实现。
讲了一堆和性能测试有关的(不会)
讲了JMeter和BenchMark,然后就不会了。
dota的战争迷雾怎么表示
聊了十几分钟,虽然自己没了解过,但是和面试官讨论起来真是爽。
学C++和图形学愿意吗
如何去学习新知识
作为一个员工应该怎么做(忘了问题,意思差不多)
有什么问题
总结
每面都一个小时左右,感觉是把握好时间的。以为会面C++,做好十分钟走的准备,居然面我Java,吃惊。
对实际上的工程知识还是需要学习。
网友评论