腾讯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工程师##腾讯#