首页IT科技前端项目遇到最大难题(前端项目中遇到的最大问题是什么,该如何回答)

前端项目遇到最大难题(前端项目中遇到的最大问题是什么,该如何回答)

时间2025-06-17 08:16:27分类IT科技浏览5408
导读:1 业务简单 由于之前的业务呢,相对来说比较常规,没有遇到太大的困难呢。但是比较期待在今后的工作中遇到一些难题,因为这样才能使我成长...

1 业务简单

由于之前的业务呢              ,相对来说比较常规                      ,没有遇到太大的困难呢               。但是比较期待在今后的工作中遇到一些难题       ,因为这样才能使我成长

2 业务复杂

不能说的特别简单

uni-app刚出来的时候              ,官方文档和软件bug很多                      ,没有相关文档告知bug如何解决       ,

小程序       ,微信端嵌入HTML网页跳转链接URL参数丢失问题                     。解决方法:对URL进行encodeURIComponent()处理       。

请求服务:资源加载无效资源

上传视频资源                      ,后台转码               ,有时候转码成功       ,有时候转码失败                     ,

各种转码失败               ,后台转码脚本异步,导致转码成功                     ,而视频为空        。

小程序:

问题:图片验证码问题                     。

描述:图片验证码登录                      ,后端判断验证不成功              。

很多开发这都是用小程序的授权登录,而我这项目中需要用账号密码登录              ,同时使用图片验证码去校验                      ,后端是PHP返回的图片流       ,直接插入到wxml中的image.src里面直接显示              ,图片能清楚显示                      ,无怎么提交后端都返回验证码错误       ,狗血的是我用postman测试一直能成功登录       ,放到小程序怎么样都不行        。

和后端交流问题                      ,他就截图postman               ,表示后台系统程序没有问题       ,直接把锅丢给前端                      。

小程序端                     ,请求正常               ,请求数据格式正常,验证码输入正确                     ,后台能返回校验情况                      ,我也真找不到问题              。我这边只好测试请求数据的格式,json              ,form什么的格式都测试了一遍                      ,都不行。图片放到最大       ,确保验证输入一定正确              ,无奈                      ,页面上的操作无法解决请求的问题                      。

再和后端沟通       ,后端确实有点不耐烦       ,我叫他返回base64图片试试看                      ,他却说postman请求成功               ,还用PC端后台登录也是这样用都可以       ,就不给我返回base64了                     。

我只好自己瞎搞一下了                     ,拿着请求格式               ,图片验证码不能成功的问题,去百度                     ,谷歌                      ,360,知乎              ,博客                      ,前端的群       ,一起开发的朋友同事              ,问了一边                      ,翻了一遍       ,然而都没有对应的问题解决情况       ,又回头看了小程序请求文档                      ,最终懂没有在这个方向解决这个问题。

为了不影响开发进度               ,这些纠结解决不了的问题也只好放在一边了               。

利用晚上       ,周末的时间再去找问题解决方法                     。

解决问题要点:转换问题的思路                     ,了解实现的根本原理       。

PC端提交验证图片验证码无误               ,这个验证码的校验过程是怎么样的?作为前端,很多人都用图片验证码                     ,但估计都不知道这个直接插入html中的验证码                      ,到底是怎么样跟后台校验的               。原来这个验证码获取的时候,浏览器会主动保持[‘Set-Cookie’]里面的值PHPSESSID              ,这个值就是后端加密的图片验证码数字的字符串                      ,在cookie本地       ,然后提交数据验证的时候后端再取cookie的PHPSESSID解密              ,校验提交的验证码                     。是这样的流程       。然后上小程序论坛                      ,发现小程序根本不会主动储存[‘Set-Cookie’]       ,所以后端一直都应该拿不到PHPSESSID       ,然后的校验肯定是不能成功的        。

然后我要手动存储[‘Set-Cookie’]                      ,url就是图片路径               ,我前端怎么能手动存储[‘Set-Cookie’]?下载图片       ,去请求中的取header[‘Set-Cookie’]                     ,然后保存起来               ,提交登录验证把保存的header带上,然后验证成功                     ,问题解决了                     。

花了好几天的时间

总结:

1.错误思路                      ,方向错误,怎么改都是错              。

2.后端不配合              ,postman请求成功                      ,就不帮忙调试问题了       ,帮忙调试一下              ,就知道没有PHPSESSID,那就可以直接知道问题的根处                      ,解决问题的时间可以缩短90%;

3.转换思路       ,了解原理       ,配合调试        。

4.一般情况                      ,叫后端都可以打印日志看看就好               ,像我这样搞       ,都是逼的                      。

拓展

实话实说                     ,都是常规开发               ,项目还在初级阶段,暂时还没遇到难点

一开始也不太会回答                     ,但是后来想了一下面试官的意图                      ,之后就直接说学校项目其实深度和难度上都不大,但是在碰到某个知识点的时候              ,我有深入去了解它的源码(原理)                      ,巴拉巴拉              。

项目经理 可能是项目经理也可能是技术总监       ,但关注的都是你的学习能力              ,及项目把控能力                      ,不会像一面那样问些细碎的知识点

最近项目中遇到什么问题       ,及解决方案? 面试前自己一定要准备一波       ,不然面试的时候自己大脑中会一片空白。如果觉得自己解决的问题都没什么技术含量                      ,那可以说项目中其他同事解决的问题               ,或者是自己在网上看到的问题                      。但前提是自己一定要搞明白       ,以后自己遇到了也能解决                     。

最近有学习什么新技术? 此题主要是想考查你平时爱不爱学习                     ,对新技术有没有一定的敏感度。不用你有多深的领悟了解即可               ,但千万不能说没有               。如果真的没有,就自己了解一下

平时自己逛什么社区? 主要是想了解你平时都是通过哪些途径学习                     ,哪些娱乐社区就别说了                      ,说一些前端方面的社区,像掘金等

你对加班怎么看? 说自己真实看法就好了              ,如果你说自己绝对不能加班                      ,那就是你自己不想要这个offer

你还有什么想要了解的吗? 别问工资               、五险一金啥的       ,这是项目经理不是hr,问一些技术团队方面的问题              ,这对于你以后的工作很重要

框架方面 只是部分的问题                      ,希望大家能由点及面好好准备自己框架方面的知识                     。我建议大家准备一门框架就可以了       ,大体都相同       ,精通一门就好了       。别vue                     、react 都是半桶水                      ,还是要深入的了解               。

单页面应用和多页面应用的优缺点?

单页应用

优点:页面切换快

因为页面每次切换跳转时               ,并不需要做html文件的请求       ,这样就减少了http发送

缺点:首屏时间慢                     ,SEO差

因为首屏时需要请求html               ,同时还要发送js请求,两次请求回来了                     ,首屏才会展示出来                     。相对于多页应用                      ,首屏时间慢       。

SEO效果差,因为搜索引擎只认识html里的内容              ,不认识js的内容                      ,而单页应用的内容都是靠js渲染生成出来的       ,搜索引擎不识别这部分内容

多页应用

优点:首屏时间快

因为当我们访问页面的时候              ,服务器返回一个html                      ,页面就会展示出来       ,这个过程只经历了一个HTTP请求       ,所以页面展示的速度非常快        。

搜索引擎优化效果好

搜索引擎在做网页排名的时候                      ,要根据网页内容才能给网页权重               ,来进行网页的排名                     。搜索引擎是可以识别html内容的       ,而我们每个页面所有的内容都放在Html中                     ,所以这种多页应用               ,seo排名效果好              。

缺点:页面切换慢

因为每次跳转都需要发出一个http请求,如果网络比较慢                     ,在页面之间来回跳转时                      ,就会发现明显的卡顿        。

衍生如何解决单页及多页面各自优点的问题

服务端渲染

说一下vue对应的生命周期? activated和deactivated

vue懒加载 3种方式:vue异步组件       、es6提案的import()        、webpack的require.ensure()

说一下自己对vdom的了解? 关于这个问题,大家看下我这篇文章              ,前端学习                      ,五分钟带你看懂Virtual DOM及diff算法在vue中的应用       ,回答个80分是没有问题的

mvvm的双向绑定原理?

理解即可              ,不用死记硬背

mvvm 双向绑定                      ,采用数据劫持结合发布者-订阅者模式的方式       ,通过Object.defineProperty()来劫持各个属性的 setter                     、getter       ,在数据变动时发布消息给订阅者                      ,触发相应的监听回调                      。

为什么要监听getter呢?因为没有getter的属性               ,说明页面中没有用到       ,就没有必要监听其setter

几个要点:

1              、实现一个数据监听器 Observer                     ,能够对数据对象的所有属性进行监听               ,如有变动可拿到最新值并通知订阅者

2        、实现一个指令解析器 Compile,对每个元素节点的指令进行扫描和解析                     ,根据指令模板替换数据                      ,以及绑定相应的更新函数

3                      、实现一个 Watcher,作为连接 Observer 和 Compile 的桥梁              ,能够订阅并收到每个属性变动的通知                      ,执行指令绑定的相应回调函数       ,从而更新视图

实现简单的双向绑定,大家可以阅读下这篇文章              ,这应该是最详细的响应式系统讲解了                      ,有时间还是建议能自己敲一遍

vue-router的路由模式?

hash              、history

路由原理的深度剖析       ,大家有时间可以阅读下这篇文章       ,深度剖析:前端路由原理

说一下redux?

理解即可                      ,不用死记硬背              。面试时详细的说一下自己的使用流程               ,至于细节方面       ,面试官还会深度的拷问

redux 是一个应用数据流框架                     ,主要是解决了组件间状态共享的问题               ,主要包括三个核心方法,action                     ,store                      ,reducer

关于 Store:

整个应用只有一个唯一的 Store

Store 对应的状态树(State),由调用一个 reducer 函数(root reducer)生成

状态树上的每个字段都可以进一步由不同的 reducer 函数生成

Store 包含了几个方法比如 dispatch, getState 来处理数据流

Store 的状态树只能由 dispatch(action) 来触发更改

Redux 的数据流:

action 是一个包含 { type, payload } 的对象

reducer 函数通过 store.dispatch(action) 触发

reducer 函数接受 (state, action) 两个参数              ,返回一个新的 state

reducer 函数判断 action.type 然后处理对应的 action.payload 数据来更新状态树

所以对于整个应用来说                      ,一个 Store 就对应一个 UI 快照       ,服务器端渲染就简化成了在服务器端初始化 Store              ,将 Store 传入应用的根组件                      ,针对根组件调用 renderToString 就将整个应用输出成包含了初始化数据的 HTML。

说几个自己常用的vuex的api?

store.registerModule(‘c’,{}) //注册一个模块

store.unregisterModule(‘c’) //解绑一个模块

store.subscribe() //订阅       ,每次mutations被调用       ,这个api都会被调用

store.subscribeAction() //监听actions

store.watch() //每次state改变之后都会调用

谈谈vue和react?

这题没有对错                      ,说出自己的见解就行               ,但不能空有见解       ,还要有理论进行支撑

两者的本质区别

vue - 本质是 MVVM 框架                     ,由 MVC 发展而来

React - 本质是前端组件化框架               ,由后端组件化发展而来

vue - 使用模板(最初由 angular 提出)

React - 使用 JSX(jsx不是react独有的,已经成了一种标准)

React 本身就是组件化                     ,没有组件化就不是 React

vue 也支持组件化                      ,不过是在 MVVM 上的扩展

两者共同点

都支持组件化

都是数据驱动视图

自己的一些看法 ​

模板语法上,我更加倾向于 JSX              ,因为它更接近js 语法(列如vue的循环用的是新指令v-for,而react用的是js中的map()函数)

模板分离上                      ,我更加倾向于 vue(数据和视图分离的更彻底)

组件化上       ,我更加倾向于 React               ,做的彻底

国内使用                      ,首推 vue                      。文档更易读、易学                      、社区够大                      。 如果团队水平较高       ,推荐使用 React 。组件化和 JSX 大型项目用react       ,小型项目用Vue

数据结构和算法

至于数据结构和算法方面各个公司考查的方式完全不同                      ,之前有给大家写过一篇好书推荐的文章               ,里面有一本数据结构和算法的书真的不错       ,有时间可以买来看看               。如果时间不允许                     ,大家只要认真准备这几点就好了

快速排序                     、选择排序、希尔排序               、冒泡排序                     、波兰式和逆波兰式

hr 大部同学都不太重视hr的面试               ,虽然说只要技术官和项目经理过了,一般offer就到手了                     ,但hr是有一票否决权的                      ,大家还是要稍微准备下,死在这就太冤了                     。       。               。

为什么想要换工作? 换工作无非于那三个原因              ,钱给的不够       、在公司处的不开心               、在公司没有上升空间                     。只要大家的原因积极正向一点别说公司的坏话就好了                      ,其它自由发挥       。记住千万别说公司坏话       ,即使前公司很操蛋

对薪水自己有怎样的期待?

自己给出一范围              ,别把话说太死                      ,不同公司可以上下调整的

对未来有一个怎样的规划?

别说的太空       ,主要从两个方面出发       ,一个实近期规划                      ,还有一个是长远规划

你还有什么想要了解的吗? 现在可以了解自己的工资                     、待遇       、公司环境等               ,这里就别端着了       ,有什么想了解的尽管问

最近读到张爱玲的一句话:中年以后的男人                     ,时常会觉得的孤独               ,因为他一睁开眼,周围都是要依靠他的人                     ,却没有他可以依靠的人        。

漫漫前端技术路                      ,其中冷暖只有自己知道                     。              。        。我不喜欢面试,也不喜欢被人挑选的感觉                      。但只有自己时刻准备        、一直学习着              ,才会拥有选择的权利              。

与君共勉

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
打验证码软件(打码平台有什么用-验证码,你可能不知道的那些事儿) 永年seo优化技巧(永年seo排名诀窍)