vlambda博客
学习文章列表

腾讯Java实习面经(已offer)


关注回复“1”,即可获取上千篇面经集合pdf



面经内容


1、哈希表、concurentHashMap源码,扩容机制
2、多线程死锁、解决办法
3、线程池介绍一下,核心大小怎么确定(CPU数/(1-阻塞系数)、解决线程安全
4、kafa框架了解吗
5、Redis三种缓存穿透、缓存击穿、缓存雪崩、及其解决方案、
7、Redis实现分布式锁
8、可以说一下redolog和undolog吗
9、数据库索引最左匹配原则原理清楚吗 

10、自己有优化过数据库吗,索引的原则 

 11、说下在华为的项目 

 12、在华为开发的工具 

 13、清理白盒是一个什么思路


【二面】(腾讯会议,50min)

1、聊聊项目
2、nginx原理说一下
3、写一个调度器,可以用Time类去写
4、TCP三次四次、重传说一下,为什么是2MSL、
5、RTSP是在什么协议上、RTMP呢,区别
6、聊聊nacos吧有用过吗
7、看过啥源码,AOP
8、说一下AOP底层实现
9、协程说一下 

 10、算法:树的dfs、bfs写一下,树的最小深度


【三面】(sdc、类似牛客网面试,视频+手写白板代码)

应该是leader的leader,就写了一个题

int calculate(string s)

calculate(“20-50/4*3+20/2+10”)

leetcode227

(原题)

贴一下渣渣代码

class Solution {public int calculate(String s) {int n = s.length();int res = 0; Stack<Integer> stack = new Stack<>();char Operation = '+';int num = 0;int i = 0;while(i < n) {if(s.charAt(i) == ' ' && i != n - 1) { i++;continue; }if(s.charAt(i) >= '0' && s.charAt(i) <= '9') {while(i < n && s.charAt(i) >= '0' && s.charAt(i) <= '9') { num = num * 10 + s.charAt(i) - '0'; i++; } }if( i == n || (i < n && (s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '*' || s.charAt(i) == '/' || i == n -1 ))) {switch(Operation) {case '+' : stack.push(num);break;case '-' :stack.push(-num);break;case '*' :stack.push(stack.pop()*num);break;case '/' :stack.push(stack.pop()/num);break; }if(i < n) Operation = s.charAt(i); i++; num = 0; } }while(!stack.isEmpty()) { res += stack.pop(); }return res; }}


【HR面】

1、讲一下自己的项目,亮点以及挑战

2、想不想来深圳

3、实习的时候都做了什么

4、对腾讯对看法

5、目前投了哪些公司

6、父母亲职业

7、读博or工作

文|牛客网:Speix