19实习腾讯前端面经

我是填的部门是IEG,不过捞起我简历的是SNG。Anyway,现在到HR面了。希望一切顺利吧~
现在来回馈牛客网啦。

腾讯 2018.03.17 一面 (内推)

1.谈谈项目
优化
遇到什么问题
2.跨域
3.flex/grid
4.缓存机制
5.translate: matrix的几个参数
原理 行列式
6.http2比http1有什么优势
有没有用过http2
7.sessionId token
token 放哪里
token 怎么存
8.安全问题
XSS
CSRF
浏览器劫持



腾讯 2018.03.20 一面+ (内推)

请在规定的时间完成下面2道题目,要求功能正常,代码具有可读性,不能查阅相关资料。时间:19:40 ~ 21: 00。

1. 页面内有一个正方形元素,实现对其拖拽和放下,需要考虑窗口的边界情况。
2.实现大整数相加算法,两个数用字符串模拟函数原型:function add(a, b) {}

第二题的测试用例:
1. add('3', '2');
2. add('123', '456');
3. add('999999', '1');
4. add('9999999999999999999999999999999999999999999999999', '1')




腾讯 2018.04.08 二面

1.自我介绍
2.MVVM 和 MVC
3.React 和 AngularJS
4.React的diff算法复杂度为什么只有O(n)
5.Redux解决了一个什么问题
6.websocket和长轮询
7.HTTP状态码304 和 204
8.HTTP状态码304的机制
9.TCP 和 UDP
10.了解过React Native
11.PWA
12.GraghQL
13.WebAssembly
14.垂直居中
15.ES6
箭头函数
promise
16.认为Web优化的瓶颈是什么

这算是二面,但是面试官说接下来还有两次现场面



腾讯 2018.04.15 三面 现场面 初试(40分钟)

1.自我介绍
2.React diff算法
3.写一个 css3 动画,一个正方形线性下移50px
4.写原生操作setCookie,getCookie
5.dns 的查询过程
6.6L的杯子,5L的杯子,怎么得到3L的水
7.301 和 302的区别,应用场景
8.CSRF的原理,以及如何防范
9.Angular的事件绑定原理,如何实现一个自定义的事件

另:给一个小时出来,手写一个题目:
从长文本里面,取出出现字数最多的字符串。该字符串要求满足以下条件:
1. 长度大于等于2;2.如果出现多个情况,取最长的;3.如果一样长,取第一个满足条件的。



腾讯 2018.04.17 四面 现场面 复试(25分钟)

1.自我介绍
2.一个场景题:QQ登录之后,拉去500人以上的数据,并且展示,如何优化?
我回答了3点:a.分组拉取数据,b.只渲染屏幕需要展示的名单信息,后续用节流或懒加载的方式生成后续节点,c.非首次登陆用缓存
3.另一个场景:多处分时登陆QQ,对好友列表进行过增删操作,如何进行同步?每次登陆后发起什么请求?
我的想法是,借鉴git的思路,维护一个增量修改的记录。
4.讲一下TCP三次握手的流程。
5.讲一下TCP挥手阶段的Time_Wait和Close_Wait。
6.HTTP状态码,200代表什么?讲一下几个常见的3XX?
7.HTTP 和 HTTPS 的区别,知道吗?
8.如果要做到服务器的推送,有哪些实现手段?
9.Websocket介绍一下。
10.讲几个你知道的排序算法?
11.简单介绍一下快排的思想。
12.什么时候可以实习,以及实习时长。

#腾讯##面经##前端工程师##实习#
全部评论
卧槽……这么劲的吗……感觉问的好广
点赞 回复 分享
发布于 2018-04-18 15:05
老哥你是18还是19级的?
点赞 回复 分享
发布于 2018-04-18 16:46
老哥,看你面试题我觉得我们好像同个部门的
点赞 回复 分享
发布于 2018-04-18 23:33
fgh
点赞 回复 分享
发布于 2018-04-19 18:46
emmmgrid matrix PWA GraghQL WebAssembly这些估计在考是否时刻关注前端 。楼主都搞过吗,666
点赞 回复 分享
发布于 2018-04-19 18:53
一面那个题我也做过。。。
点赞 回复 分享
发布于 2018-04-19 18:59
老兄你昨天下午变的是吧,到现在接到HR面试了么
点赞 回复 分享
发布于 2018-04-19 19:25
算法怎么刷 啊 求教
点赞 回复 分享
发布于 2018-06-07 10:05
这个部门名字是啥呀
点赞 回复 分享
发布于 2019-07-09 16:36

相关推荐

代码部分:#include #include #define MAX_SIZE 3#define TOTAL_CELLS (MAX_SIZE * MAX_SIZE)int main() {    // 定义棋盘和计数数组    char p[MAX_SIZE][MAX_SIZE];    int k[8] = {0}; // K的计数    int m[8] = {0}; // B的计数    int a = 0, b = 0; // 用于记录获胜情况    // 读取棋盘状态    for (int i = 0; i         for (int j = 0; j             scanf(" %c", &p[i][j]); // 注意添加空格以跳过空白字符        }    }    // 计算K和B的连线数量    for (int i = 0; i         for (int j = 0; j             if (p[i][j] == 'K') {                k[i]++;                k[j + 3]++;            }            if (i == j && p[i][j] == 'K') {                k[6]++;            }            if (i + j == 2 && p[i][j] == 'K') {                k[7]++;            }            if (p[i][j] == 'B') {                m[i]++;                m[j + 3]++;            }            if (i == j && p[i][j] == 'B') {                m[6]++;            }            if (i + j == 2 && p[i][j] == 'B') {                m[7]++;            }        }    }    // 检查是否有获胜者    for (int i = 0; i         if (k[i] == 3) {            a++;        }        if (m[i] == 3) {            b++;        }    }    // 输出结果 if (a > 0) {        printf("KiKi wins!\n"); } else if (b > 0) {        printf("BoBo wins!\n");    } else {        printf("No winner!\n");    }    return 0;}知识点:1. **宏定义**:使用 `#define` 来定义常量,例如棋盘的最大尺寸和总单元格数。2. **数组操作**:使用二维数组来表示棋盘,并使用一维数组来计数。3. **输入输出**:使用 `scanf` 和 `printf` 函数进行输入输出操作。4. **循环控制**:使用 `for` 循环来遍历棋盘和计数数组。5. **条件判断**:使用 `if` 语句来判断棋盘上的字符和计数条件。难点:1. **棋盘状态读取**:正确读取棋盘状态,注意 `scanf` 中的空格以跳过空白字符。2. **连线计数**:正确计算每种连线(横、竖、斜)的数量。3. **获胜条件判断**:根据连线计数判断是否有获胜者,并正确输出结果。4. **代码调试**:如果程序输出不正确,需要能够调试并找到逻辑错误。通过理解和掌握这些知识点和难点,可以更好地编写和理解涉及棋盘游戏逻辑的C语言程序。
点赞 评论 收藏
分享
评论
10
115
分享
牛客网
牛客企业服务