腾讯PCG技术中台应用架构一面凉经(后端暑期实习)
1、学过的语言? C、C++、Java
2、String和StringBuilder的区别? final、拼接效率 面试官:还有吗? --没看过StringBuilder源码,卒
3、TreeSet底层?红黑树复杂度?(八股文)
3.1、HashSet底层?HashMap的复杂度?Hash冲突解决方案? (八股文)
3.2、如果key是String,那它的hash值是怎么得到的?我内心:不都是高16^低16嘛...
面试官:我是问你String的hashCode是怎么计算的?
思考了片刻,老实交代:我没看过这个源码,但它应该是和ASCII码有关 随后面试官:嗯 (应该蒙对了,内心狂喜)
4、平时怎么调试? Debug打断点
5、还有吗?线上出问题如何定位或调试? 分析日志文件
6、10000个数找最大的100个? 秒给小顶堆、TopK思路
7、小顶堆思路的时间复杂度? o(N)?因为要遍历
8、面试官:那如果是找1000个呢?应该还是o(N)吧...(心里已经一阵发凉,肯定是不对的,没别的想法了,你告诉我吧)
9、那维护堆的代价呢,你再计算一遍?我猜o(NlogN),应该是错的,胡乱分析一通 (面试官忍不住换题)
10、平时写项目遇到死循环怎么解决? 郁闷了好久... 实在想不出来,随后说,死锁这种情况可以吗?
控制台输入jps+jstack指令(面试官好像没用过.. 一直不理解这怎么能看死锁状态,我说会有英文打印出来的,估计面试官不是搞Java的)
11、那像for、while这种死循环你怎么定位? --俺不会
12、手头有offer吗?来深圳没什么问题吧?我待会儿把你的简历给我leader看一下
就是因为这三句话让我白高兴了5分钟hhh.... 一去官网查,凉了
13、反问:您如何定位死循环?
面试官:你在循环语句和循环外面打印一下不就知道了... 哪些一直打印哪些没有打印,看得一清二楚
我内心:你不是问我项目在线上怎么分析吗?合着可以让我改代码printf.....?
#实习##面经##Java工程师##腾讯#