前端开发 - 秋招部分面经总结

1. 知乎(一面)- base:北京

  • 介绍一下socket.io
  • websocket连接过程
  • 后端是自己搭建的吗?是否使用了第三方服务?
  • 封装了哪些中间件?具体实现了哪些功能?
  • webRTC如何实现的视频通话?使用的原生webRTC吗?
  • 如何实现的文件切片和断点续传?
  • 文件切片过程中的唯一编号如何得到?
  • 为什么使用mongodb数据库?存储的数据是什么格式的?是直接存的吗?有无处理?
  • 文件的传输是以什么形式传输的?
  • 项目中封装了哪些组件?有什么用途?
  • 项目中使用ts做的什么工作?
  • 如果有一个异步函数,没有返回值,在ts中如何声明该函数?如果是普通函数呢?
  • 是否封装过自定义hook?手撕:实现一个useMouse自定义hook函数,要求返回鼠标当前坐标[x,y]
  • 箭头函数和普通函数的区别是什么?
  • 讲一下Map和Set,如果有a=[],b=[],那么new Set(a,b)的值是什么?Set中判断元素唯一性是按照什么依据?
  • 讲一下js中声明变量的几种方式,有什么区别(var、let、const)
  • 如果const一个对象或数组,可以修改其中的元素或属性吗?
  • 讲一下es6中filter、map和reduce的应用?你了解哪一个?是否使用过?讲一下使用场景和做法
  • 哪些方法会修改数组本身?
  • 手撕:注入key-value,实现函数inject,接收三个参数:obj、字符串(如:'a.b.c')和value(如:1),生成对象:obj={a:{ b:{c: 1 }}}

2. 亚信安全(一面) - base:南京

  • 在地址栏输入url之后到页面渲染的过程
  • 正向代理和反向代理
  • 项目中如何解决的跨域问题
  • 什么是跨域?有哪些跨域的解决方案?
  • 项目里遇到过防抖和节流吗?什么是防抖和节流?
  • 用过哪些布局方法?grid布局的致命缺点是什么?
  • 垂直水平居中方案有哪些?
  • 如何画一个三角形?
  • js的数据类型有哪些?
  • 深拷贝和浅拷贝的区别是什么?如何实现深拷贝?
  • 进行过哪些性能优化?
  • 如果可视区域内有十万个节点,如何显示?
  • vue2中为什么不能同时用v-for和v-if?如何替代完成这项工作?
  • vue2和vue3的响应式的原理是什么?
  • nextTick的原理是什么?
  • vue 中如何修改数组中的元素?

3. 汉得信息(只有一面) - base:无锡

  • 是否用ant design做过组件封装?
  • 介绍一下vuex
  • 讲一下setState和render
  • 介绍一下hooks的用法

4. 中冶赛迪(一面+二面) - base:重庆

  • 项目中印象比较深的地方是什么?
  • 项目中的用户数据是存储在哪里的呢?
  • vue的组件通信方法有哪些(vue2和vue3分开说)?他们的应用场景是什么?
  • 分别讲一下vue2和vue3的生命周期。在哪个生命周期函数中请求数据?
  • es6的新特性有哪些?
  • promise对象是什么?有什么方法?
  • 其他的记不住了,都是八股,吟唱即可。
  • 人事问题

5. 广东电信(一面) - base:广州

  • 介绍自己做过的项目
  • 是否了解设计模式?
  • 讲一下浏览器的渲染过程
  • 使用过哪些数据库?是否使用java或python做过数据处理?
  • 是否接触过app开发?
  • 是否进行过原生的小程序开发?
  • 是哪里人?有家人在广东工作吗?男朋友的职业?

6. 中邮消费金融(ai面+一面+二面) - base:广州

一面

  • 项目中是如何排查错误和定位问题的?
  • 排除错误的时候提到了埋点检测,具体是怎么做的?有没有一个成熟的方案?
  • 项目中做了哪些性能优化的操作?
  • 刚刚提到了精灵图,是自己写的还是用的第三方插件?
  • vue和react在使用上有什么区别?
  • 实习过程中如何协调与后端人员的工作?遇到冲突如何解决?
  • 3-5年的职业规划是什么?
  • 讲一下最近的一个协调团队活动的例子

二面

  • 实习阶段的难点是什么?是怎么解决的?
  • 为什么不做分页?有没有跟别人沟通?
  • vue和react的使用区别是什么?
  • react子孙组件通信如何实现?
  • react子组件如果想修改父组件的内容如何实现?
  • 查看项目性能的时候主要看什么?
  • 为什么去广州?北上广深一线城市就选择广州吗?
  • 说一个你的缺点
  • 3-5年的职业规划
  • 在看什么相关的书籍
  • 谈一下你的发展方向的选择

7. 其他

  • 重庆长安:一面综合面挂;
  • 四川电信:拿到终面直通卡,最后没有去;
  • 得物:面的第一家,全八股,一面挂;
  • 重庆农商行:一面综合面结束;
  • 其他公司的面经没记录了(面了哪些都不太记得了。。。)
#牛客在线求职答疑中心#
全部评论
你好,我是牛可乐,很高兴认识你! 关于前端开发,我有一些建议和经验可以分享: 1. 掌握基本知识:HTML、CSS、JavaScript是前端开发的基础,需要熟练掌握。 2. 学习框架:Vue.js、React.js、Angular.js等主流框架至少要熟练掌握一种。 3. 熟悉网络协议:HTTP、HTTPS、WebSocket等协议需要了解。 4. 掌握前端性能优化技巧:减少请求次数、延迟加载、缓存数据等。 5. 学习后端知识:了解后端开发原理,有利于与后端团队更好地协作。 6. 熟悉前端构建工具:Webpack、Gulp等工具可以帮助你更高效地完成前端开发工作。 7. 学习设计模式:了解设计模式可以提高代码质量和可维护性。 8. 关注前端技术发展趋势:如PWA、Serverless等新技术,可以帮助你在面试中脱颖而出。 9. 积累项目经验:通过实际项目积累经验,提高自己的技能水平。 10. 参加技术社区和论坛:与其他开发者交流,提高自己的技能和知识水平。 希望这些建议对你有所帮助,祝你求职顺利!
1 回复 分享
发布于 2023-12-08 11:04 AI生成
佬,你这面的是中冶赛迪信息还是中冶赛迪集团啊,重庆有两家中冶赛迪
点赞 回复 分享
发布于 2024-09-17 19:19 重庆
农商行没消息嘛
点赞 回复 分享
发布于 2024-04-20 13:54 江苏
哥,长安也招前端么
点赞 回复 分享
发布于 2024-04-06 17:31 重庆
老哥亚信几号的,有二面吗?
点赞 回复 分享
发布于 2023-12-08 20:23 重庆

相关推荐

05-02 01:34
已编辑
蚌埠坦克学院 Java
3.18 零一悦动一面(25min)1.自我介绍2.实习项目介绍:实习前后端都自己写吗?实习中数据库是自己设计吗?3.java数据类型4.异常类型(忘了)5.数据库的事务讲一下6.索引使用上有什么问题要注意7.Bean的生命周期7.消息队列讲一下,消息队列的优缺点,说了异步,解耦,还有短链接里面怎么用的,优缺点回答的是解耦性能好,缺点是太重了,并发量达不到就不用8.JVM垃圾回收(说还不熟悉)6.高并发的情况下如何处理(感觉问的很笼统)回答了使用redis做缓存,缓存三大问题,还有使用mq做异步,用sentienl做限流7.排序算法和时间复杂度空间复杂度8.深度优先和广度优先9.讲一下动态规划10,你最近怎么学习一门新技术11.你觉得ai怎么样12.你的职业规划反问:3天出结果,还有一轮面试后续:一面挂3.18 云测Testin一面(30min)1.自我介绍2.介绍一下实习做了什么3.实习的难点、遇到的困难4.Mysql索引怎么优化的,优化的3.2s怎么测的,实际数据怎么来的5.自己怎么学的技术6.redis缓存在实习中怎么使用的7.查询语句优化怎么优化的8.DB-router中aop遇到的切面失效的问题嘛?还有ThreadLocal底层还有用久了有什么问题嘛、10.算法刷了多少11.运维有做吗?Linux命令11.目前找实习的情况12.规划后续一面挂3.19 泛微网络一面(18min)1.自我介绍3.问实习干了啥,实习公司主要是做什么的4.技术面:5.SaaS短连接介绍一下6.redis怎么使用的?有哪些情况7.Sharding-jdbc是怎么使用的6.spring事务讲一下7.mysql了解哪些?讲了索引和事务8.什么是回表9.事务隔离级别讲一下后续:因为异地挂3.24 亚信科技(北京一面)15min1.自我介绍2.介绍一下SaaS短链接项目3.介绍一下DB-Router项目4.你实习用了Activity工作流,请问工作流中用户权限这块是怎么做的?(不太清楚)5.ArrayList和LinkedList的区别6.synochroniezd和lock的区别后续,oc已拒3.28 中点金信一面(25min)1.介绍公司的主要业务和工作形式2.自我介绍3.问实习做了啥4.问项目主要是干啥5.JVM了解吗?5.sql调优怎么调6.你自己遇到的问题是怎么解决的7.反问:主要办公形式:驻场二开后续:二面聊天二面挂:面评是对出差和加班有抵触心理,这个绷不住了4.09百应科技一面(25min)1.自我介绍(40s左右,之后扩展一些内容)2.介绍一下实习做的事情3.在处理多线程方面要注意哪些方面4.在Java里面还有什么实现锁的方式5.currentHashMap底层是如何实现的6.redis做发布订阅是如何选型的7.redis做发布订阅是如何解决丢失消息8.分布式事务如何做统一回滚的?9.redis集群的部署模式有几种?10.并发访问Mysql同一条记录的时候mysql锁机制如何运行的?11.Mysql事务隔离级别,不同隔离级别的差别是什么?12.Mysql主键索引和二级索引他们底层数据结构有什么不一样?13.有个场景:一条带普通索引的sql执行的整个流程是怎么样的?14.RocketMQ在broker是怎么存储消息的?(不是很清楚)15.rocketmq的重试策略和频率16.分布式锁用什么实现的?17.redis常用数据结构18.redis的set中nx和ex有什么不同19.redis主从集群中set一个数据在主从中是怎么存储的?20.jvm中新生代是通过什么策略迁移到老年代当中(不会)21.垃圾回收cms和g1有什么不同?22.线程池的一些框架是如何初始化和销毁线程的?一面挂4.08 高顿教育一面(20min)只记得一部分问题1、简单介绍一下路由组件的项目的流程2、mybatis缓存机制3、mybats组件拦截说一下4.ThreadLocal不会出现内存泄漏问题吗5.双重判定锁介绍一下6.线程安全的集合类有哪些7.StringBuffer和StringBuilder区别8.sleep和wait的区别9.MQ如何保证消息丢失问题和重复消费问题10.spring的bean是线程安全的吗?总结:很多问题口齿不清,逻辑不是很清楚,但是面试官那边麦也不清楚。高顿教育二面(20min)主要聊技术的学习还有本质(答得一塌糊涂),sql优化,redis集群,go和java的本质区别问有没有了解zoomkeeper、ES相关技术,一问三不知吹牛说RAG了解,结果问缩写是啥都不知道总结:问题问得很模糊很抽象,不知道他想问啥,回答的时候也经常被打断,吹牛RAG也吹大了后续oc已拒       
点赞 评论 收藏
分享
好伤心,面试官结束时候评价是整体还行,等视频挂了5分钟内收到感谢信这前后反差,我只好安慰面试官尊重自己,但是谁来安慰我呀面试上来开始问八股1,说说 url到浏览器页面显示整个过程2,http 缓存3,流式输出,你知道哪些可以实现的方式?AI生成到前端你觉得采用那种方式?3,css 设置的元素要不断旋转,怎么写(不到一分钟面试官问我是否会,不会可以换一题,那我还行想到用什么,那换一题吧)keyfram 里面设transform;animation 里面应用设定的spin;代码如下:(linear 匀速转,infinite 无限循环)@keyframes spin {    from {        transform: rotate(0deg);    }    to {        transform: rotate(360deg);    }}.spinner {    animation: spin 2s linear infinite; /*持续2秒 转一圈*/}4,输出解释题:function app() {    const [count, setCount] = useState(0)    useEffect(() => {        const interval = setInterval(() => {            console.log('useEffect')            setCount(count + 1)        }, 1000)    }, [])     return (        <div>            <h1>{count}</h1>        </div>     )}会输出打印什么?h1位置 count 显示什么那当然每隔1s 打印出0,页面显示也是05,好的,你分析他原来想要实现什么效果,然后现在这段代码怎么改能实现预期效果,你有几种方式?【用useRef 、手写update函数,设定count 动态依赖项,使用setTimeout 递归(但是容易爆栈)】我当时有点懵,当然是没考虑到function app() {    const [count, setCount] = useState(0)    const countRef = useRef(count);    useEffect(() => {        setInterval(() => {            console.log('count', count);            // setCount(count + 1)            setCount(countRef.current + 1)        }, 1000)    },[])    useEffect(() => {       const update = () => {        console.log('update')        setCount(count + 1)         setTimeout(update, 1000) // 递归调用, 会导致栈溢出       }        update(); // 初始调用    })    useEffect(() => {        const interval = setInterval(() => {            console.log('useEffect')            setCount(count + 1)        }, 1000)    }, [count]) // 动态依赖,但是频繁定时器创建和销毁    return (        <div>            <h1>{count}</h1>        </div>     )}7,输出顺序是什么?function app() {        promise.resolve().then(() => {        console.log('promise')    })    useEffect(() => {        console.log('useEffect')    }, [count])    useLayoutEffect(() => {        console.log('useLayoutEffect')    }, [count])    return (        <div>            <h1>{count}</h1>        </div>     )}输出:useLayoutEffect promiseuseEffectuseLayoutEffect(dom更新后,相当浏览器刷新渲染了,立即同步执行)、promise (微任务,在同步执行完清空微任务队列)useEffect(异步执行,事件循环后执行)期间问了useLayoutEffect 和 useEffect 区别8,看下面输出什么?(弱弱心想:不能出点其他的吗?)function Foo() {    getName = function () {        alert(1);    }    return this;}Foo.getName = function () {    alert(2);}Foo.prototype.getName = function () {    alert(3);}var getName = function () {    alert(4);}function getName() { alert(5); }Foo.getName(); // 2getName(); // 4Foo().getName(); // 1getName(); // 1new Foo.getName(); // 2new Foo().getName(); // 3new new Foo().getName(); // 3看这是金典js输出,但是解释起来费劲呀,解释不断问我:变量提升到哪,函数提升到哪,可以修改一下代码看看提升到的位置,new 关键字分析一下,作为普通函数调用还是.... (问下牛友,这种题目去那找能复习到呀)9,写个sum函数实现下面输出:console.log(sum(1,2,3).sumOf()); // 6console.log(sum(1,4)(2).sumOf()); // 7console.log(sum(1)(2)(3)(4).sumOf()); // 10function sum(...args) {    let total = args.reduce((acc,cur) => acc + cur,0);    function innerSum(...newArgs) {        total += newArgs.reduce((acc,cur) => acc + cur,0);        return innerSum;    }    innerSum.sumOf = () => total;    return innerSum;}console.log(sum(1,2,3).sumOf()); // 6console.log(sum(1,4)(2).sumOf()); // 7console.log(sum(1)(2)(3)(4).sumOf()); // 10
点赞 评论 收藏
分享
05-08 18:25
已编辑
河南科技学院 golang
鼠鼠去年暑期实习面试过360,前天应该是一面的负责人说,就不再给我技术初试了,直接复试。(噩梦开始了)面试总共23分钟结束1. 自我介绍 (自我介绍不真诚 , 像对着念,要像和他聊天一样去介绍自己。不是像背书一样)2. 什么学校的?一本还是二本?3. 为什么不考研4. 你认为目前哪个行业发展最好? 你再看什么行业? (鼠鼠回答: AI 发展好, 我再看的行业: 安全研发,游戏,AI)5. 你了解AI吗?6. 看你说的更多是对AI的使用(然后中间说了一堆乱七八糟的) 最后来了一句,如果让你自己做一个deepseek,你服务端会怎么做?(OK , 大的要来了)鼠鼠第6个问题完全不会,只能把自己知道的为数不多的一点关于AI开发的东西说出来 (说的最多的就是我了解到的一些如何在一个会话中让AI回答的问题上下文关联的知识)。 还没说完,面试官说了一句:“你感觉今天还有必要面试下去吗?”  鼠鼠以为是回答的太烂了,想着,寄就寄了吧,确实不会。 紧接着一句话,我想直接退出: “你用AI面试”。鼠鼠懵了,不知道为什么能让面试官说出来这句话。 跟面试官说了半天,共享屏幕开了,说:“我不看你屏幕,不要把面试官当傻子 , 面试官面试了很多人,是会有一些应届生用AI辅助面试 , 这样不好”。 鼠鼠是真的要红温了,非常想退出。但是想着是个大公司,直接退不是很礼貌(现在想想有点后悔,面试官也丝毫没有尊重我的意思)我也不知道说什么了,相顾无言。 然后面试官说那出道思考题吧,我说可以。题目很简单(面试的网站上牛客网),鼠鼠就直接在代码考核那一栏去模拟过程了,正在思考过程中 , 面试官突然打断,说:“你在干什么呢?” (牛客的代码考核,我写什么东西,面试官应该可以看到吧?我不确定 , 我不知道怎么回答面试官这个问题),直接跟面试官说了一个还没检验的答案,没有一丝意外,是错误的。 给出错误答案之后,面试官说:“不用AI不会了吧, 那你还用刚才的AI去写一次看看”。(鼠鼠一直在忍着没有退出去,我非常希望能够给出这个思考题的正确答案)。 就接着重新去尝试了,然而在这次尝试过程中,又一次被面试官打断。(这次确实已经乱了,不想写了 , 也思考不进去了)。7.再次相顾无言一会儿, 面试官说没什么想问的,问我有什么问题没有?(鼠鼠已经红温,热的不行,就直接跟面试官说没有问题,结束吧)出去狠狠吃一个蜜雪冰城的冰淇淋降降温。这次是我从去年三月份开始投简历为止到现在,最红温的一场面试。其它也有面试红温的,但是原因是因为问的问题连着很多鼠鼠回答不上来,心态崩了。两者红温状态不一样,第二种,面试结束之后的复盘总结,也可以对自己技术,项目场景,基础知识有一定的提升。但是这次的面试,更多的是感受到了,被轻视,没有得到应该有的尊重,回答问题被打断,思考题被打断。很无奈啊,两次错过360。 鼠鼠下次再也不说AI行业了。
点赞 评论 收藏
分享
评论
8
33
分享

创作者周榜

更多
牛客网
牛客企业服务