腾讯PCG 不知道是第几面的面经
这次的面试安排原因可以看我在上一篇面经里面写到的
上次的面经在这里
面试时间:25 号下午 2.30
开始
做完自我介绍之后就开始问项目
先让我介绍一遍项目
小程序,移动端,后管系统,硬件交互全都是在一个服务里面?为什么这样做?
介绍项目怎么分层的?怎么部署的?
开发过程中遇到了什么问题?怎么解决的?
然后让我说了我负责的模块比较有挑战的模块
基础
1.说说 JVM 五大分区,然后问我是不是必须分 5 个?
我说不是,HotSpot 的栈区只有一个,然后没有永久代
2.然后又问了一下我自己对 SpringBoot 的理解
这里尴尬的事情就来了,我用的校园网,卡的一批,面试官说我再说什么他听不太清楚,不过大概懂我意思了。
还有更尴尬的...
同一层楼正在装修,面试官说你到底在哪儿面试的?
我:阿巴阿巴阿巴,太惨了呜呜呜呜
然后面试官说既然这样那就不问你问题了吧
我们做两道题热一下身体
算法
面试官啪的一下打出一道题
反转二叉树
我笑一下,很快啊
我直接写了个递归还有一个队列递推
代码放在这里
public class Main {
public static void main(String[] args) {
Main m = new Main();
TreeNode treeNode = new TreeNode(1);
TreeNode treeNode1 = new TreeNode(2);
TreeNode treeNode2 = new TreeNode(3);
treeNode.left = treeNode1;
treeNode.right = treeNode2;
m.reverseTreeNode(treeNode);
ArrayList<Integer> res = new ArrayList<>();
m.preOrder(treeNode, res);
res.forEach(System.out::println);
m.reverseTreeNodeByDeque(treeNode);
ArrayList<Integer> res1 = new ArrayList<>();
m.preOrder(treeNode, res1);
res1.forEach(System.out::println);
}
public void preOrder(TreeNode root,List<Integer> res){
if(root == null){
return;
}
preOrder(root.left, res);
res.add(root.val);
preOrder(root.right, res);
}
// 递归
public void reverseTreeNode(TreeNode root){
if(root ==null){
return;
}
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
reverseTreeNode(root.left);
reverseTreeNode(root.right);
}
public void reverseTreeNodeByDeque(TreeNode root){
if(root==null){
return;
}
Deque<TreeNode> queue = new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
TreeNode pop = queue.pop();
TreeNode temp = pop.left;
pop.left = pop.right;
pop.right = temp;
if(pop.left!=null){
queue.add(pop.left);
}
if(pop.right!=null){
queue.add(pop.right);
}
}
}
static class TreeNode{
int val;
TreeNode left;
TreeNode right;
public TreeNode(int val){
this.val = val;
}
}
PS:以上所有的代码都要自己写,包括二叉树节点定义
写代码的时候我掉线了但是我不知道,呜呜呜呜
然后面试官又打出一道股票买卖
好家伙,还是最简单的那一道
很快啊
直接写了个 dp 方程出来
写了个状态压缩之后的 dp
问他还写么?他说停停
问我还有没有其他解法?
我又写了一个一次遍历,每天买每天卖的方法
他看了一会儿他说我这个还行
他又问我还有没有其他的解法,我说我只想到这两种,他说这个贪心应该也行
我当时说了一句贪心应该做不了吧
不好处理收入缓慢上升的情况
他说他猜的
然后他又说要是现在加一个条件,交易次数只能是 K 次呢?
然后又是写了个 dp 方程,这次没写代码了,他看了方程之后说没问题
他那边就说没啥问题了
最后
他问我在重庆怎么去深圳实习?
你是 Java,但是我们这边都是用 Go,你打算怎么办?
反问?
这次到底是第几面?
答:不清楚...
后面还有没有面试?
答:可能有也可能没有,有些人会加面,有些人直通..
那个部门?
结果等多久?
你觉得我有什么地方需要提高的?
搞笑的来了,他说麦克风质量需要提高,网络质量需要提高,面试环境需要提高,其他的都可以了。
呜呜呜呜呜呜
总结
这次面试我感觉除了我面试环境的影响,因该是最简单的一次面试了吧,希望 Tencent 不要再搞什么幺蛾子了...
#实习##面经##Java工程师##腾讯#
查看27道真题和解析