腾讯WXG前端暑期实习一面面经
面试官态度极好,全程都很温柔,十分上心,虽然我像在听天书........
1.简单介绍一下项目
2.项目有什么难点?
3.具体是什么利用API去封装关于蓝牙的内容?
4.与后台通信是怎么协商协议?
5.平时用Vue比较多对吧?(...并不...)
6.那你讲讲Vue怎么实现一个全局的变量或者方法?(mixin、Vue原型上挂载、第三方插件)
7.Vue组件间怎么通信?
8.Vuex的一个简单原理?
9.Vue是怎么处理无法监听对象新增和删除的问题?调用的是什么API?
10.keep-alive缓存的是什么?
11.keep-alive的原理是什么?
12.讲讲小程序那边的性能优化具体是怎么实现?
13.讲一下闭包?
14.闭包有什么作用?有什么优缺点?
15.虚拟DOM有什么优缺点?
16.diff算法的原理?
17.UDP和TCP的区别?
18.UDP和TCP分别是面向哪个层?
19.为什么https会比http安全?
20.平时怎么去定位一个技术上的难点然后解决?
五道算法题:
1) 洗牌算法:对52张牌洗牌,要求尽量洗乱,而且原牌不能在原位置上重复
void ShuffleArray(int array[], int len)
2) 数组a[N],存放了数字1至N-1,其中某个数字重复一次。写一个函数,找出被重复的数字。时间复杂度必须为O(N), 空间复杂度不能是O[N]。 函数原型:
int find(int a[], int N)
3) 现在有一个微信群,里面有n个人,每个人的id用整数int标示,现在要求找出id是对称数字的人出来,如3, 121, 12321。 请实现改查找函数,不能把整数转为字符串来判断。
//返回 1:对称; 0: 不对称
int ismirror(int value)
4) 给定一个字符串,如“1234”,请实现一个函数,把这个字符串转成10进制整型,不能用系统函数
int atoi(char *str)
5) 有一个二叉树,每个节点的值是一个整数。写一个函数,判断这棵树中是否存在从根到叶子节点的一个路径,这个路径上所有节点之和为某一个值。存在返回1, 否则返回0。
struct TreeNode
{
int value;
struct TreeNode *left, *right;
};
int haspath(struct TreeNode *root, int value)
反问,问了一下部门是微信(那没事了)