记录金山一面,太难了
没想到海投会收到金山一面,个人普二本表示很意外哈哈哈,总体来说面试我感觉很愉快,但是仍然很菜,很多问题不知道,再次把不知道的问题在本博客中抄抄答案增加经验哈哈。希望可以给我二面吧。
1, 说下Java堆栈
答到了堆内主要存储对象,线程共享,有个非heap区存储静态变量,常量等,并且是GC垃圾回收区域。栈分为虚拟机栈,本地方法栈,栈线程私有,虚拟机栈存储栈帧,本地方法栈有native本地方法实现,源码在openjdk
2, 说下锁升级
这里说出四个锁状态,无向锁,偏向锁,轻量级锁,重量级锁。无向锁竞争得到偏向锁,偏向锁通过试探对象头内mark word升级为轻量级锁,轻量级锁通过cas自旋升级得到重量级锁。个人感觉没有回答好。。
3,说下进程之间怎么通信
这个真不怎么了解,后悔操作系统没有好好听课,只回答到了管道通信,还随口说出了这时全双工哈哈,后来查资料是半双工,就算慌了也不能随意说啊。通过阅读课本,其实进程通信还有共享存储器系统,管道通信系统,消息传递系统以及客户机-服务器系统等,过几天总结一下吧。
4,浏览器输入一行url会发生什么
很经典了,主要通过dns解析为IP地址,然后通过tcp/ip协议到服务器,或者通过这个服务器做转发,或者直接获取资源,然后获得结果返回浏览器。
5,说下tcp/ip三次握手,四次挥手
这里接上一个问题,开始背书
6,怎么处理优化慢查询SQL
这里了解不多,就回来了通过explain查询SQL查询走的什么方式,然后尽量走索引
7,说下MySQL索引
接上一个问题,果然会问虽然我真不懂。这里简单回答了索引是由一块数据抽离出来单独开辟内存空间,使用的数据结构是哈希索引和b+树索引
8,说下哈希索引和b+树索引
终于来了,只说了两者区别在于能否排序
9,说下mq怎么,忘记了
不知道,,只知道不知道的东西以后简历少写点。
10,docker实现原理
也不知道,,,
11,说说你读过的源码,并分享你最感兴趣的部分
只读过容器源码,要是熟悉一下spring源码就好了,所以说到了hashmap,聊了一下对哈希算法感兴趣的想法
12,说说redis数据存储类型
这里说了string,set,zset,hashmap等等,然后我说可以自己说说其他的吗,面试官说可以分享一下自己的学习所得,然后赶紧发挥。说出redis主从的全量同步和增量同步,而且基于aof和rdb,然后就说了一大堆。
end
到了这里就结束了,感觉学的还有很多,面试官也很nice,问问题的时候常说你自己可分享什么什么心得感受,让你可以感觉这里两个人在交流技术的感觉。很希望能有二面吧,如果没有电话call,应该是凉了。