前端面试总结(三维家)

    前端小白人生第一次面试,没怎么准备,感觉好像还OK?(虽然很多东西没答出来

    Part1  自我介绍
    提前十分钟在记事本先写的,按照从哪来,会什么,什么优势来介绍的。说得不太连贯也比较短。。。下次一定好好准备
    
    Part2 介绍一下项目、难点以及如何解决
    按照简历写的粗略介绍了一下核心的项目。难点与解决说了三个:
    ①实现话题侧边栏的响应式显示。
     解决:设置页面窗口监听器监听页面宽度,到一定的阈值修改布尔值状态从而改变前端组件的展示。
    ②AI回答的流式输出。
     解决:由于获取AI回答的接口是在聊天框组件实现的,气泡组件是聊天框组件的子组件,因此使用props父子组件传值在每次获取一部分AI回答结果时向气泡子组件传递数据,气泡组件根据每一次接收父组件传值来更新元素。
    ③不同话题对应不同知识库的切换。
     将话题包装为一个对象,包含话题名称与对应知识库名称,发起提问时传递话题对象参数,获取当前话题对应知识库并提交接口发起提问。(属于是有点没什么说乱扒了)

    Part3 项目提问
    ①窗口监听器的监听频率是多少?
     第一个问题就给问倒了,调用的是window.addEventListener()方法,完全没想过这个问题。。。。
     查了一下addEventListener的监听频率,才发现不对劲儿啊,这玩意不就是事件发生时触发么?当监听到页面变化时触发监听,哪有频率可言???不知道是不是被坑了,反正当时脑抽啥也没想出来
    ②知不知道帧的概念?如果说是60帧的话那一帧是多少毫秒?
    答了1/60秒,好像勉勉强强过关??还好游戏打的多
    

    Part4 算法and数据结构
    ①set和array的区别
    一开始没反应过来是问的集合与数组,还以为是问的哪个js方法,慌麻了。面试官提醒才反应过来。答了set元素唯一性不可重复,array可重复。
    Array 是一个有序的、可变的数据结构,其中的元素通过索引(从 0 开始)访问。
Set 是一个无序的、唯一值的集合。它不允许重复的元素。Array 提供了丰富的方法和属性,例如 push、pop、splice 等用于操作数组的方法,以及 length 属性用于获取数组的长度。
Set 提供了一些用于集合操作的方法,如 add、delete、has,但相对较少并且专注于集合的唯一性。
    没说到有序性和基本的接口举例,这一part估计也是寄了。

    ②冒泡排序和快速排序的区别
    从算法时间复杂度,大概怎么实现说了一下。
    可以再说一下稳定性(冒泡稳定,快排不稳定,相等元素可能会被交换),和空间复杂度(冒泡不需要额外空间,快排需要logn的栈空间)

    ③算法题:如何能确定一个点是否在矩形的边界上?其他几何形状呢?
    矩形想着映射到一个坐标系中列出边界区间去判断,其他形状就想不出来了。。。。
    好像看到可以用作点的水平射线检查射线与几何形状交点的个数,奇数则成立。但是也看不懂算法,求助各位牛友们

    Part5 问题反问
    看了公司是ai方向的,问了涉及哪方面ai?问了一下公司的前端主要技术栈。


    总结
    面试过后才知道自己的不足,准备得太少了。后面应该要优化一下自我介绍,深挖项目,找出若干个难点以及解决方案并对hr可能问的一些问题做准备。对基础知识需要再更加深入的理解,还有算法题!不刷真的麻了。。。
全部评论
佬后面有过吗?有没有去三维家
点赞 回复 分享
发布于 2024-08-09 22:33 广东
补充:还问了单例模式
点赞 回复 分享
发布于 2024-02-22 16:01 广东
想问下佬通过面试了吗?
点赞 回复 分享
发布于 2024-02-21 16:25 广东

相关推荐

拒绝996的悲伤蛙:此贴终结|给路过的牛友分享一下心得👇 实习的时候不要光埋头干活,身边的大佬同事才是真·宝藏人脉!大胆请教他们工作以及职场上的问题以我的经历,我的带教有十几年工作经验,做过运维、后端开发、web测试,现在是高级软测,是行走的避坑指南 我之前纠结要不要学Web测试简历,被他一句话点醒:Web发展成熟,岗位需求在缩,AI对互联网的冲击可能以后架构+开发+测试一人包揽。现在用户更多用的是移动端APP/小程序,相比之下天天守着电脑刷网页的人基数小。 这里我的纠结得到反馈,于是我又把简历发给带教,获得了一对一的简历指导。 感兴趣的可以看看: 1.教育背景:本科→本科(全日制) 2.实习经历:总体问题不大,但第2点要稍作修改,可以写但做功课,如风机、水箱……可能会问用哪个供应商的?使用寿命、型号、电压电流、多少秒会触发逻辑? 3.项目经历(坑太多,大型翻车现场): - 项目名越直白越好,让人一眼就知道你干了啥。 -用的什么语言设计核心接口,异步执行做功课,涉及线程问题,被问可回答n个功能是如何错开异步执行的 - “验证任务消费……阻塞丢包”“高负载稳定性”这种词,没三五年开发功底不要写,不然面试时被问线程、数量级、CPU占用,内存带宽等影响性能的直接原地社死。 -做功课 -做功课,测了哪些模块,如何设计,接口流量抓包,token,变量…… -做功课,要熟悉网络协议…… 带教之前做互联网开发的时候面试过很多人,总的来说不要为了显得项目高大上过渡包装,写了就要做好拷打的准备
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
8
24
分享

创作者周榜

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