淘宝一面劝退经
27号下午5点收到淘宝一面的邀请,约到了晚上10点。
开始聊了聊在公司的情况,然后进入正题。
一.分别介绍final,finally,finalize:
我回答后,他问了我下面三个问题:
1.当在类里定义了一个方法,此时需要线程切换,方法里传的参数 必须用final修饰, why?
2.如果try里有return语句,还会执行finally里的语句吗?
int i = 0; try{ i = 1; return i; }finally{ i = 2; }这个程序返回多少?
3.finalize里出现了异常,会发生什么? fnalize里面可以开启新的线程吗?
二. 说说volatile在哪里用过? 具体讲一下
三.树和链表的区别?左旋和右旋怎么做?
四.100个数字,100万个数字,100亿个数字,分别给出排序的方法。
五.java8的metaspace
六.hashmap为什么会发生死链? hashmap的扩容
七.业务题:
一张商品表的主键是int类型(大概21亿),并且这张表还和其他的很多表有关联,现在表中的id已经到了20亿。
问: 假如快到双11了,商品量暴涨,表里可能存不下了,给一个方法,躲过这个难关???
八.由于我上个题答了分表(被否决了),所以他问我分表怎么做:我回答的hash一致性。
技术面试大概一个小时,之后面试官和闲扯了很多,聊内蒙古,聊西安,聊在腾讯的经历,聊春招的经历,大概半个小时。
目测凉凉