前端面试日记:小厂1

最近开始实习了,但是对自己的实力没有自信,投点小厂刷刷面试题目,增长点经验。

下面记录为自己没怎么答好的小公司面试题,题目来源于公司,答案来源于ai,反思来源于自己。

第一份面试,回答的一塌糊涂。

[Html, js, css基础]

1、问题:如何实现div水平、垂直居中?(3种)

答案:有几种方法可以实现div的水平和垂直居中。第一种是用flex布局,给父元素设置display: flex; justify-content: center; align-items: center;,这样子元素div就会水平和垂直居中了。第二种是用CSS的positiontransform,给子元素设置position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);,前提是父元素要设置position: relative;。第三种是用CSS的grid布局,给父元素设置display: grid; place-items: center;,也很方便。

反思:这里当时脑子宕机,以为小公司不会问八股,回答了一个flex就down了,这种基础操作确实应该重视。

2、问题:什么是BFC?

答案:BFC就是块级格式化上下文,是一个独立的布局环境。在一个BFC内部,块级元素会按照文档流的顺序排列,不会和外部的元素相互影响。比如,BFC可以用来解决浮动元素塌陷的问题,当一个元素创建了BFC,它的内部浮动元素就不会影响到外部的布局了。创建BFC的方式有好几种,比如设置overflowhidden或者auto,或者设置displayflexgrid等。

反思:BFC见过相关概念,还整理过,结果还是答不出来,css基础概念也得复习。

3、问题:深拷贝和浅拷贝区别?

答案:浅拷贝和深拷贝的区别主要在于拷贝的深度。浅拷贝只拷贝对象的第一层属性,如果属性值是引用类型,拷贝的还是引用地址。比如用Object.assign()或者展开运算符...,都是浅拷贝。深拷贝会递归拷贝对象的所有层级,包括嵌套的对象,生成一个完全独立的副本。比如可以用JSON.parse(JSON.stringify(obj))来实现简单的深拷贝,不过这种方法不能拷贝函数和特殊的对象类型。

反思:凭借记忆答出了浅拷贝,深拷贝忘了用Json实现,递归倒是答出来了,就是回答很乱。

4、问题:ts中type和interface区别?

答案:typeinterface都可以用来定义类型,但有一些区别。interface主要用于定义对象的结构,比如一个对象有哪些属性和方法。它还可以合并,如果有多个interface同名,它们的属性会合并在一起。而type更灵活,可以定义基本类型、联合类型、元组等各种类型。type不能合并,如果重复定义会报错。总的来说,interface更适合定义对象类型,type更通用。

反思:完全忘了,需仔细复习。

5、问题:ts中泛型的应用场景?

答案:泛型在TypeScript里很有用,比如定义一个函数时,可以用泛型来指定参数和返回值的类型。比如function identity<T>(arg: T): T { return arg; },这样就可以传入任意类型的数据,函数会返回相同类型的结果。还可以用在数组、对象等类型中,比如Array<T>,表示一个元素类型为T的数组。泛型可以提高代码的复用性和类型安全性。

反思:也是忘了,需要仔细复习。

[项目]

1、问题:Vue2/3的区别,Vue3的优化?

答案:Vue2和Vue3有很多区别。Vue3用的是Composition API,比如setup函数,可以把逻辑相关的代码放在一起,比Vue2的Options API更灵活。Vue3还用了Proxy来实现响应式,比Vue2的defineProperty性能更好,支持动态添加属性。还有,Vue3的虚拟DOM算法也优化了,渲染效率更高。另外,Vue3的组件是基于ES6的类,更符合现代JavaScript的规范。

反思:项目中写了Vue2/3的兼容,却没有好好答出来,惭愧。简历上的东西确实该注重。

2、问题:项目中做过的前端优化?

答案:在项目里,我做过一些优化。比如代码分割,用Vue的异步组件和webpacksplitChunks,把代码分成多个小块,按需加载,减少了首次加载时间。还有图片懒加载,只有图片进入可视区域才加载,节省了流量。还有优化了CSS,把一些公共样式抽离出来,减少重复代码。还有用keep-alive缓存了一些不经常变动的页面,提高了用户体验。

反思:其实自我感觉回答还可以,但是感觉还能回答更多,不然给面试官感觉就是纯凑数半桶水。

3、问题:VueUniapp项目三端如何做到跨平台兼容?

答案:在开发过程中,我会通过以下几种方式来处理VueUniapp的跨平台兼容性:

条件编译:这是VueUniapp跨平台的关键工具。我会根据不同的平台(比如App、H5、小程序)编写特定的代码逻辑,然后用条件编译指令(如#ifdef、#ifndef)来控制这些代码的执行。比如,对于iOS的状态栏高度问题,我会专门写一段代码适配,然后用条件编译标记。

样式适配:我会尽量使用flex布局和rem单位来适配不同屏幕尺寸。同时,针对不同平台的样式差异,比如小程序和H5的字体显示问题,我会用CSS媒体查询或者upx2px方法来调整样式。

平台特定API的使用:VueUniapp封装了很多统一的API,但某些平台有自己独特的功能。我会通过条件编译调用这些平台特定的API,比如在App端调用原生的文件存储功能。

UI组件适配:我会优先使用VueUniapp提供的统一组件库,这样在不同平台上的显示效果会更一致。如果需要自定义组件,我会在不同平台上做测试,确保它们的视觉和交互效果保持一致。

性能和事件优化:不同平台的性能和事件处理机制不一样。我会针对H5优化图片加载逻辑,或者在小程序中调整事件触发的逻辑。这样可以确保应用在每个平台上的表现都比较流畅。

反思:这方面确实考略的有所欠妥,需好好研究。

4、问题:React相关的基础常识:Hook,子调父方法。

答案:React的Hook是ES6以后的一个新特性,最常用的是useState,用来在函数组件里声明状态。还有useEffect,用来替代生命周期函数,处理副作用,比如数据请求和DOM操作。子组件调用父组件的方法,可以通过props传递。父组件把方法作为props传给子组件,子组件在需要的时候调用这个方法,就可以实现子调父。

反思:React实操过少,导致闹中根本没有相关概念,最好找个时间看看项目。

5、问题:Echarts如何自适应?

答案:Echarts自适应主要是通过监听窗口大小变化来调整图表大小。可以在初始化Echarts的时候,用resize方法。比如window.onresize = () => { myChart.resize(); },当窗口大小变化时,图表就会自动调整大小。还可以在Echarts的配置里设置gridcontainLabeltrue,这样图表的大小会根据内容自动调整,避免内容超出图表范围。

反思:Echarts没接触过大型项目,这个也没办法。

6、问题:Node的中间件?

答案:Node的中间件主要用在express框架里。中间件就是一个函数,它可以在请求到达路由之前处理请求。比如,一个日志中间件可以在每次请求的时候记录请求的时间、路径等信息。还有身份验证中间件,可以在用户请求某个路由之前验证用户的身份。中间件可以按顺序串联起来,每个中间件处理完后,用next()调用下一个中间件,直到请求到达最终的路由处理器。

反思:没接触过Node后端,也确实没办法。

总结:

在本次面试中,暴露出自身的基础知识深度不足和项目经验表述不完善两大问题,总结反思如下:

一、基础知识薄弱需系统梳理

  1. CSS布局能力欠缺:如垂直水平居中仅提到flex方案,忽略grid和定位实现的多样性,反映出对常用技巧的敏捷性不足;BFC概念虽了解原理,但未能结合应用场景举例说明(如清除浮动)。后续需加强CSS布局系统性练习,通过案例总结常见方案。
  2. TS相关概念模糊:type与interface的区别、泛型的使用场景等回答混乱,需重新整理TS文档,结合代码实践加深理解。

二、项目经验表述缺乏逻辑与技术细节

  1. 技术差异对比不清:Vue2/3的优化点未结合Proxy、Composition API等核心细节展开,未来需结合官方文档总结特性对比表,形成结构化表达。
  2. 跨平台方案流于表面:虽提到Uniapp的响应式表达,但缺乏多种方法,需复盘项目代码,提炼典型问题的解决思路。
  3. 优化措施深度不足:列举代码分割、懒加载但未提及性能指标(如首屏时间优化比例),后续需通过数据量化成效。

三、后续提升计划

  1. 夯实基础体系:以《CSS权威指南》《TypeScript深度解析》为纲,配合LeetCode/CodePen每日实战。
  2. 重构项目复盘文档:拆分技术方案细节,形成“问题-解法-结果”话术模板,如跨平台兼容方案补充平台API适配案例。
  3. 扩展技术广度:短期内补充React Hooks核心机制与Echarts性能优化方案,长期规划Node.js中间件原理学习。
#我的面试日记#
Loy前端面试日记 文章被收录于专栏

面试日记, 既为己,也为众; 既为过,也为来; 既为悔,也为成。

全部评论
谢谢佬,我实现echart的响应了呱呱呱!
点赞 回复 分享
发布于 04-07 14:33 湖南
哇哦,好多我今天学到的内容!佬说的echart自适应那点,我感觉可以解决我项目的一个痛点,明天就试试!
点赞 回复 分享
发布于 04-07 02:57 湖南
佬总结的真不错佬只投杭州吗,我到现在还没面试机会呢😭
点赞 回复 分享
发布于 03-11 17:59 山西

相关推荐

真实工作体验!【工作时间】&nbsp;海康实行弹性工作制,一般九点半之前到公司就可以。对于实习生来说,一般只要打够八个半小时的卡就好了。这点还是不错的,早点上班就可以早点下班。正式工可能需要大小周,具体看部门要求。实习生应该都是双休的,不过周末去的话也会给你发工资。中午休息一个半小时,大部分员工都会自己买午休床。&nbsp;【公司环境】&nbsp;实习报到的时候会给你分配一台电脑,一般都是无盘机,配置很普通,不允许自己带电脑。海康对网络管控比较严格,很多网站不能访问。想要访问外网的话只能通过虚拟机,然后通过公司内部的文件传输工具传到红网,这点还是比较麻烦的。&nbsp;海康食堂还行,样式挺丰富的,价格也不贵。早餐我一般在5-10r,午饭一般15-20r。海康有专人负责检测食堂饭菜农药残留,细菌达标情况,饮水机水质这些东西,定期会出检测报告。正式工貌似八点半之前到公司可以拿20餐补,实习生没有任何补贴,这点比那些互联网公司待遇差一点。公司里面还有便利店、水果店、面包房啥的,海康员工好像有折扣价,比外面便宜一点。公共区域有办公用品柜,直接刷工牌就能***本子,笔之类的文具。&nbsp;公司里面还有健身房,一期、二期的比较小,没有淋浴间,三期健身房挺大的,有淋浴间。四期、五期也有健身房,不过我没去过。&nbsp;【工作氛围】&nbsp;实习生工作强度还行,压力不会很大。海康这边应该是给每个实习生都配备了一个mentor,他会给你安排任务,有什么问题也可以向他请教。身边的同事也都很好相处,我们组吃饭的时候都是一起去的,感觉和学校实验室差不多,身边的同事也都挺年轻的。&nbsp;海康这边活动还挺多的,部门每个季度还会安排团建,我入职的那周正好赶上了。研究院这边还有一些活动社团,有羽毛球社、健身社、音乐社,每周都会安排活动,健身社有教练带练,羽毛球社每周会租一片场地,免费提供羽毛球。海康威视2025届春招补招开启【关于我们】海康威视成立于2001年,是一家专注技术创新的科技公司,致力于将物联感知、人工智能、大数据技术服务于干行百业,引领智能物联新未来【招聘岗位】综合类(人力、会计、运营、商务)、营销/技术支持类、算法/网米哈游TCL络安全/大数据类、器件电路类、软件/嵌入式类、硬件/结构类、测试/支撑类、供应链类、体验设计类【工作地点】杭州、武汉、西安、成都、上海、北京、石家庄、全国90+城市和海外多地【福利待遇】有竞争力的薪资+影响世界的宽广舞台+持续可期的成长回报+踏实专注的做事氛围+接轨市场的创新实践【投递链接】http://campushr.hikvision.com/【内推码】MXA4QC(简历优先筛选,后续有流程上的问题欢迎随时联系)使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
评论
11
29
分享

创作者周榜

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