腾讯 前端实习一面 企业微信部门 已挂
base深圳,上来直接5道算法,做1小时,做完一道一道讲思路,然后反问。
上来直接五道算法,没问八股和项目,哈人。
算法:
(1) 给定一个字符串,编写一段代码测试该段字符串的括号是否完全闭合。
[()]{}{[()()]()} - true
[(()] - false
(2) 数组a[N],存放了数字1至N-1,其中某个数字重复一次。写一个函数,找出被重复的数字。
时间复杂度必须为O(N), 空间复杂度不能是O[N]。
函数原型:int find(int a[], int N)
(3) 有一个二叉树,每个节点的值是一个整数。
写一个函数,判断这棵树中是否存在从根到叶子节点的一个路径,这个路径上所有节点之和为某一个值。
存在返回1, 否则返回0。
class TreeNode
{
int value;
TreeNode left;
TreeNode right; };
int haspath(TreeNode root, int value)
}
(4) 给定一个无序的整数数组,找到其中最长的上升子序列。
示例:
输入: [10,9,2,5,3,7,101,18]
输出: [2,3,7,101] 或 [2,3,7,18] 说明:
可能会有多种最长上升子序列的组合,你只需要输出其中一个即可。
你算法的时间复杂度应该为 O(n2),或者更好的 O(nlogn) 方案
(5) 实现 LRU 存储,LRUCache(capacity) 以正整数作为容量 capacity 初始化 LRU 缓存。
LRU 算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
class LRUCache(capacity){ add(var key, var val); get(var key); }
反问:
(1)有了一定项目经验后,前端学习应该先注重深度还是广度
(2)针对我的表现有什么建议
(3)岗位业务
对我的建议:加强数据结构和算法
#我的实习求职记录#
上来直接五道算法,没问八股和项目,哈人。
算法:
(1) 给定一个字符串,编写一段代码测试该段字符串的括号是否完全闭合。
[()]{}{[()()]()} - true
[(()] - false
(2) 数组a[N],存放了数字1至N-1,其中某个数字重复一次。写一个函数,找出被重复的数字。
时间复杂度必须为O(N), 空间复杂度不能是O[N]。
函数原型:int find(int a[], int N)
(3) 有一个二叉树,每个节点的值是一个整数。
写一个函数,判断这棵树中是否存在从根到叶子节点的一个路径,这个路径上所有节点之和为某一个值。
存在返回1, 否则返回0。
class TreeNode
{
int value;
TreeNode left;
TreeNode right; };
int haspath(TreeNode root, int value)
}
(4) 给定一个无序的整数数组,找到其中最长的上升子序列。
示例:
输入: [10,9,2,5,3,7,101,18]
输出: [2,3,7,101] 或 [2,3,7,18] 说明:
可能会有多种最长上升子序列的组合,你只需要输出其中一个即可。
你算法的时间复杂度应该为 O(n2),或者更好的 O(nlogn) 方案
(5) 实现 LRU 存储,LRUCache(capacity) 以正整数作为容量 capacity 初始化 LRU 缓存。
LRU 算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
class LRUCache(capacity){ add(var key, var val); get(var key); }
反问:
(1)有了一定项目经验后,前端学习应该先注重深度还是广度
(2)针对我的表现有什么建议
(3)岗位业务
对我的建议:加强数据结构和算法
#我的实习求职记录#
全部评论
对前端实习来说,属实是上强度了😅
虽然都是热题但是也不带这么出的吧😡
大概看了一眼,应该只有一两道没思路,但是面试能不能做出来两说
感觉微信都是这流程,我一上来也是4道算法, 做了40分钟,然后做完后将思路,后面才开始问问题。 全程1小时40分钟左右。
我是pcg。上来也是直接三道算法
哈人
这也太吓人了
我也挂了😢,算法题一模一样
我九月面的wxg 和你一样的笔试题😂
请问算法题可以用c++写吗 还是得js
相关推荐
11-19 16:07
浙江大学 采购 点赞 评论 收藏
分享