腾讯QQ 前端一面 手写题整理

面完几个小时,关电脑的时候发现写了手写题的页面还没关,数据还在,就记录了一下,整理之后分享给大家.

如果有任何问题可以联系我删除

T1

// t1
function isBig(thing){
    if(thing == 0 || thing == 1 || thing == 2){
        return false;
    }
    return true;
}

console.log(isBig(1));
console.log(isBig([2]));
console.log(isBig([3]));

写出输出之后问了==的转化规则,以及===

T2

// t2
setTimeout(() => {
    console.log('1');
});
(function (){
    new Promise((resolve, reject) => {
        resolve(2,3);
        console.log('4');
    }).then((agr1,arg2,arg3) => {
        console.log(agr1,arg2,arg3);
        return agr1;
    }).finally(() => {
        const args = Array.prototype.slice.apply(arguments);
        console.log(args);
    });
})(5);
console.log('6');

说出输出,之后问了事件循环,宏队列微队列等等

T3

// t3
var a = 100;
function fn(){
    console.log(a);
    var a = 200;
    console.log(a);
}

fn();
console.log(a);

var a;
console.log(a);
var a = 300;
console.log(a);

T4 使用闭包的方式,写一段JS实现如下功能:函数每调用一次则该函数的返回值加1。

function addOne(){
    var a = 0;
    return function(){
        return a++;
    }
}

T5 看输出,如何修改

// t5
for (let i = 0; i < 3; i++) {
    setTimeout(() => {
        console.log(i);
    });
}
// 3 3 3
// let i = 0;

T6 给出一个字符串:将其中的abc删除,将其中的数字左右加上【】,将其中的数字*2

// t6
var str = 'abc345efgabcab';
var str1 = str.replace(/(a|b|c)/g, '');
console.log(str1);
var str2 = str.replace(/\d/g, `[$&]`);
console.log(str2);
var str3 = str.replace(/\d/g, (match) =>{
    return String(Number(match)*2);
});
console.log(str3);

// 345efg
// abc[3][4][5]efgabcab
// abc6810efgabcab

T7 手写bind

T8 手写节流函数

T9 js实现二分查找

#实习##前端##腾讯##面试#
全部评论
佬手写题怎么准备呀
点赞 回复 分享
发布于 2024-07-22 10:36 未知

相关推荐

05-20 18:10
已编辑
复盘:因为只准备了一天八股,导致很不自信、面试时放的不是很开、比较紧张,不是特别满意流程:问题1&nbsp;:首先简单聊了聊实习和项目,问我要不要给项目加AI功能,有哪些想法?回复:太紧张了,没有结构化(没有做面试准备),扯皮了细节功能后,我说之后要加chatbot和对收集到的用户画像向量化。问题2:问实习webpack优化怎么做的?回复:1.&nbsp;缓存配置,2.&nbsp;并行处理(多线程、多进程配置)问题3:问对Vue和React哪个了解?问题4:说说Vnode吧回复:首先讲了vnode为什么比直接操作dom好,从create分析,到update分析,到声明式框架(感谢霍春阳)。然后很紧张,继续延伸说了vue的vnode和react之前的vnode和之后的fiber,顺着说了说react的createElement,和requestidlecallback,说了vue的vnode更复杂。转向说整个vue架构和react架构,比较组件级别和应用级别框架,最后说了diff,(因为我很害怕拷打我dom&nbsp;diff,因为忘了。。。。)问题5:问我css学的怎么样?flex和grid用哪个多一些回复:不屑于用组件库,平时自己写的多,但是还没入门,用flex多一些手写题:实现一个flex布局,子盒子随着宽度减小布局到下面本质就是flex-wrap的事情,我还以为拷打响应式。。打断我写媒体查询手写题目:手写防抖或节流,挑一个总结:1.&nbsp;&nbsp;没有实现调研投递到面试的流程到底多久,导致一天好几个面试,太累了;2.&nbsp;&nbsp;准备八股太晚了;3.&nbsp;&nbsp;太紧张了,没有在面试的时候掌控整个节奏,不够主动。4.&nbsp;&nbsp;简历上写的都应该事先结构化表达一下,不够充分;5.&nbsp;&nbsp;主动延伸防止被拷打是一个好方法。
查看5道真题和解析
点赞 评论 收藏
分享
腾讯微信前端面试面经:技术与沟通的双重考验一、面试初体验这次腾讯微信前端的面试,整体节奏张弛有度。开场长达20&nbsp;-&nbsp;30分钟的项目交流,让我感受到面试官对实际项目经验的重视,后续的技术问答和算法考察也极具针对性,尽管最终未能通过,但整个过程收获满满。二、项目细节深度探讨1.&nbsp;大模型相关技术交流面试一开始,面试官便聚焦于我在实习中涉及的大模型调用相关项目,围绕前后端交互、数据结构化处理、流式传输等技术点展开提问。当谈及流式传输时,我提到工作中接触过的Server-Sent&nbsp;Events(SSE)和Backend&nbsp;For&nbsp;Frontend(BFF)架构,解释了SSE如何实现服务端到客户端的单向实时通信,以及BFF层如何针对前端需求定制数据接口,减少冗余请求。在聊到JSON流式解析时,面试官追问“为什么选择自己手写解析?”,我坦言最初是出于学习目的,参考了开源项目的实现逻辑,希望深入理解数据逐块处理的原理,但这个回答可能未能展现出足够的实际应用价值。2.&nbsp;智能自驾数据可视化项目我介绍了负责的智能自驾数据可视化项目,主要通过React&nbsp;Hook获取数据,再利用表格组件进行展示。由于项目逻辑相对基础,缺乏性能优化层面的实践,面对面试官对性能优化的潜在期待,我未能给出亮眼的回答,意识到这是自己项目经验中的一大短板。三、算法与技术实操考察1.&nbsp;算法题:有序链表合并第一道算法题是合并多个有序链表,这是经典的归并问题。我采用分治思想,先两两合并链表,逐步减少链表数量,最终得到合并后的有序链表。通过代码实现和思路讲解,基本完成了题目的要求。2.&nbsp;技术题:防抖与节流第二道题考察**防抖(Debounce)和节流(Throttle)**函数的实现。在实现节流函数时,我使用记录上一次执行时间的方式,控制函数在指定时间间隔内只能执行一次。但当面试官追问“如何优化防抖函数,避免重复创建定时器”时,我没能及时想到通过保存定时器ID(timeoutId),在新触发时清除旧定时器的方案。面试官略带遗憾的一句“这不应该呀”,让我意识到这个关键知识点的疏漏可能影响了整体评价。四、轻松闲聊与最终结果算法环节结束后,氛围变得轻松起来。得知面试官也是成都人,我们自然地聊起家乡美食、生活日常,还调侃了一下恋爱话题,整个交流十分融洽。面试官最后表示最迟次日给答复,虽然最终收到未通过的消息,但我明白或许是有更契合岗位需求的候选人,这次经历也让我清晰认识到自身技术短板与改进方向。
查看8道真题和解析
点赞 评论 收藏
分享
评论
3
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务