‘壹’ 前端开发的难点到底在什么地方
不同级别的前端面临的难点各不相同,不可一概而论;
业务开发的前端难点在于对业务的理解和把控能力;
平台开发的前端难点在于产品化的把控和推进能力。
观点1:不同级别的前端面临的难点各不相同,不可一概而论。
其他回答有说 CSS 难,有说 CSS 不难的,每个人水平不同,这样争论毫无意义。我刚学前端时觉得 JS/CSS/浏览器兼容问题都很难,现在觉得也就那样,因为前端路子广,办法总比问题多。后来觉得要评估好需求,把控好项目质量比较难,很多时候我们是在干事,在解决问题,不是只埋头写代码,时间一长你会发现前端工作中,技术问题往往比较好解决,反而资源+协作问题比较麻烦。现在对我来说比较难的是快速产品化的能力,如何从无到有去做出一些有价值的东西。
举一个简单粗暴的例子吧:阿里前端很多,P5/P6 一大把,但是 P8/P9 的非常少,为什么?进阶的难点在哪里?
前端开发的难点跟前端进阶的难点是非常相似的。阿里对每个前端层级都有一个标准,这也从侧面回答了这个问题,比如对 P5 来说,难点可能是写好业务代码,保证其灵活性和可维护性,能解决各种适配问题;对 P6 来说则需要独挡一面,能独立 owner 需求,而 P7 则需要在某方面技术有深入理解,等等。
能提出这个问题首先得恭喜题主,说明题主在当前阶段遇到瓶颈了,需要向下一个 level 出击了。
观点2:业务开发的前端难点在于对业务的理解和把控能力。
业务逻辑开发本身并不是难点,谁都可以写。但是对于你自己负责的这块业务,后续业务的发展方向和潜力,你有去了解过吗?当业务方提需求过来时你是只负责执行还是和业务方一起探讨更合理的方案?你有没有给自己负责的产品提过一些建议?做过一些改善措施?如果前端只是作为一个执行者,作为一种被调度的资源,那么即使最终项目取得了好的成绩,跟你有多大关系?你自己会有多大的成就感?
另外一个很重要的点:就是对业务的把控能力。业务方总是会催着上线,开发时间不断被压缩该怎么办?进度不如预期怎么办?开发遇到瓶颈怎么办?发布新功能翻车了怎么办?
我见过有默默加班保证进度的,也有跟需求方重新谈延期的,有发布出问题手足无措的,也有自己默默修复的,有遇到瓶颈一筹莫展的,也有及时跟老板沟通,跟业务方撕逼的… 如何优雅的处理这些问题,有时候比写代码更难。为什么有的人业务代码逻辑混乱,写的一团糟?我不相信是智力问题,反倒更相信是对项目本身没有把控好,本来排了5天工作量的需求被业务方压到了3天,你还能保证写出健壮而不失风度的代码?
观点3:平台开发的前端难点在于产品化的把控和推进能力。
做业务时有人给你提需求,帮你出交互视觉稿,你只要负责写页面就行了。但是在支付宝前端,很多内部平台和技术产品都是技术自己主导,你需要自己发现问题,出方案,设计数据库,自己出页面,这是一个从无到有的创造的过程。并且要保证你做的东西是真正解决问题的,而不是做一些自己觉得很牛逼实际上并没有解决用户痛点的东西,用我老板的话说就是对产品的把控能力,不要跑偏了。前端是最容易做出产品化东西的工程师了,因为后端不会做 UI,UI 不会写代码,唯前端兼顾,这是最大优势。
再一个就是对产品的推进能力了,你做的东西可能需要各种资源?如何争取?可能牵扯到多方利益?如何权衡?东西做出来了如何推广?如何在用户的一片骂声中奋勇前进?
印象中很多平台型产品,刚开始投入使用时都是一片骂声,各种问题,说实话负责这些产品的程序员压力是相当大的,天天被骂还得彻夜帮别人解决问题,还得不断优化系统,你说难不难?
以上三点就是本文所展现的理念,希望能对大家有帮助。
‘贰’ 前端开发的难点到底在什么地方
一般意义上的前端项目:
-从0到1,治理晒哦为健全点的都能捣鼓出来;
-从1到60,后后端或者设计岗位勉强能兼任;
-从60到80,需要比较专业的前端;
-从80到100,这么好的前端可遇不可求。
从0到1就是从无到有的过程,很多人用WordPress,建站之星就差不多就能搞个demo了,可以拿去骗投资人的钱。
从1到60,就是勉强可用,基本上让后端工程师或者UI设计师找一套bootstrap的模板东拼西凑的也能勉强应付到第一版本上线。
从60到80,就是真正要做一款能完备、性能优良、架构合理的中小规模产品,没有专业的设计、前端、后端、产品、运营是走不到这步的,差不多到A轮了。
从80到100,那就是追求各方面的极致,与竞争对手一较高下,各个方面没有顶尖的人才都会影响整体的战斗力,木桶效应。
解释一下:
1. 核心竞争力的主体是工程经验。
其实这个结论可以推广到其他研发岗位,就是每个研发岗位的知识体系都是由基础学科知识+领域工程经验构成,彼此不可替代的就是工程经验部分。一个后端工程师一时间不能替代同等级前端工程师到不是基础或者智商的问题,主要是工程经验不足,你让一个前端一个后端分别实现对方领域中一个有明确输入输出的功能函数,二者通过简单学习新语言新语法,加上开发手册查询,一般都能比较正常的实现业务逻辑,但你让他们hold住对方领域的完整项目就很困难了,技术选型,系统设计,模块拆分,平台特性,宿主环境,性能优化,构建部署,系统测试等等都是领域工程经验问题。
2. 工程经验的等级是能cover项目从0发展到80+。
这个很好解释,因为从0-60的非专业前端也能做到,60+的才是专业前端。
所以不用担心核心竞争力问题,60+的前端现在都很抢手啊。工程经验只有60-的话确实压力比较大。
‘叁’ 项目管理中经常会遇到哪些问题
1. 缺乏信任
信任对团队合作至关重要,它始于人们的相互了解。团队成员绝对需要相互了解,无论是在专业方面还是个人方面,尤其是参与一些高度紧张的项目中。否则成员就不会相互理解,不会想要交流,因为他们还没有建立人情纽带,不会完全信任彼此。
2. 冲突和紧张
冲突或意见分歧可以是健康的,如果处理得当,能够引发有益的辩论。它可以使人们产生不同的想法,扩展知识和洞察力。意见不同不是坏事,处理冲突的方式才是关键。
3.信息不共享
知识不是力量——除非共享。项目团队成员提供独特的技能、知识、经验和智慧。为了每个人的利益和项目成功的利益,有效的项目团队经常慷慨无畏地共享。这使得整个团队的能力提升,并给予团队更多的权力。
4. 参与度低
团队参与是企业成功的关键。如果参与其中,某个项目的团队成员将对他们所做的事情感兴趣,将致力于项目任务,并愿意付出额外的努力。参与的关键在于加入,让其他人加入,使置身事外变得不可能。
5. 缺乏透明度
没有透明度,信任就会受到影响——无论是在项目团队内部还是最终客户之间。透明度正在成为项目和方案管理的假定规范,并且期望值越来越高。你的职位越高,你就有越多的责任成为这方面的榜样。员工会跟随领导的行为,无论好坏。如果做得好,可以在整个组织中产生积极的级联效应。
6. 没有长期的思考
项目经理必须超越日常的紧急事务,着眼大局并考虑项目的所有部分如何组合在一起。对于项目团队来说,这意味着能够超越自身领域,思考如何适应更广泛的变更计划或项目,以及如何影响最终客户的体验。这关系到业务的可持续性和长期成功。每个人都很忙,但只是忙是不够的。长期的项目成功需要长期的思考。
7. 感知不好,没有交付
项目团队有品牌、形象和声誉,这些由团队成员的行动和行为所创造。很大程度上,这种认知由团队如何很好地实现预期和承诺所驱动。作为项目团队,你需要确保每个人都能理解并承担起他们在创建团队认知中的角色。这包括在项目中交付什么以及如何交付。
8. 变更管理不善
变化是持续不断的,除非经过精心管理,否则可能不利于团队合作和结果。改变始于沟通,也终于沟通。每当你认为沟通已经足够时,你就需要沟通得更多,而且需要互动:倾听、交谈和参与。注意变化曲线,或四个可预测的变化阶段:拒绝/抵抗,情感,希望,承诺。每个阶段都是必要的,但可以控制人们在每个阶段停留的时间,并将其保持在最低限度。
9. 孤立工作
孤立工作是许多项目团队的现实。团队成员可能并排坐着,但不是真的合作。认真合作就是要充分利用你们是一个团队这一事实。尊重你的时间和努力,将自己视为团队的全职成员,而不仅仅是个人贡献者。
想象一下,作为团队的一员,每个人都在为团队着想而不仅仅是考虑自己——通过共同努力使项目成功。
10. 并非朝一个方向努力
为了朝着同一个方向前进,团队需要知道它的目标是什么、就什么做出贡献(愿景),以及为什么(目的)。和你的团队在这上面花点时间。这种清晰性提供了一个框架和“理由”,能将任何给定项目的团队团结在一起。记住,愿景必须引人注目,目标必须有意义。人们会对两者的重要性做出反应。
‘肆’ web前端工程师工作中,遇到难以解决的问题有哪些
有时会遇到外层中的子层使用margin-top不管用等情况
‘伍’ java 面试必问题 你在项目中碰到过什么问题
例如:
你的项目有多大,几个人开发,价值几何
主要分几个模块,开发周期是多长,如何测试
你负责哪个模块,模块内容是什么
你是如何实现的
在做程序的过程中碰到哪些问题,你是如何解决的
如何保证代码质量的,需求文档和开发文档如何进行编写的
‘陆’ 前端开发遇到的问题与怎么解决的
前端和后端没有可比性
前端的开发,如果没有总体的设计思路,会成为一种碎片似地程序,一个效果一坨代码,一个功能一滩脚本,一个需求片逻辑,我曾经遇到过,因为ue调整,把整个前端的代码除了核心数据处理函数保留,其余的全部修改的情况。
基本上前端的开发,处于dom操作,数据处理,数据交互三部分,如果合理的分配这三部分的功能,那么前端的代码就很容易扩展和调整。可惜现在优秀的前端开发者很少,因为前端门槛很低。
那么接下来我回答挑战所在:真正的前端开发的挑战,还在于开发者的思路,兼容性,布局,css
js都不是问题,问题在于如何合理的组织语言逻辑,如果正确抽象出需求中的模块,在如何用代码处理。清楚的用代码表达出思路,清楚的写好注释,给后续维护者一个可阅读的思路。
前端的改动量,是后端的数倍,前端没有绝对,只有跟随需求不停的修改。
‘柒’ 前端项目中遇到最大的问题是什么
不能正常显示时,很麻烦.有时会遇到外层中的子层使用margin-top不管用的情况;这里我们需要在子层的前后加上一个div{height:0;overflow:hidden;}
‘捌’ web前端工程师工作中遇到难以解决的问题
1).margin-top,margin-bottom不能正常显示时
一.有时会遇到外层中的子层使用margin-top不管用的情况;这里我们需要在子层的前后加上一个
div{height:0;overflow:hidden;}
例
CSS样式表中:
#box {background-color:#eee;}
#box p {margin-top: 20px;margin-bottom: 20px;text-align:center;}
解决方法:在P标签前后各加2个空的div:<divstyle="height:0;overflow:hidden"></div>
二.网页中头部,中部,底部的居底部有时给个margin-bottom:10px;不管用也是要给个清除属性的.clear{clear:both;font-size:0;line-height:0;}在底部<div id="footer"></div>下加个<div></div>
2).div层中高度自适应问题
网页前端科技人员在设计网页时不可能知道客户在要他们自己的网站内容页里加多少文字或图片内容
这时我们就不能规定div层的高度,为此应写成min-height:200px;height:auto!important;height:
200px;overflow:visible;这样ie7,ff,ie6浏览器的高度自适应问题就解决了,这些在
http://www.xueshengshu.com/网站中用到最多了。
3).div层中子层的居底部对齐问题
div中的定位问题有很多也很麻烦,但弄懂了就OK了,在一个大的div层中如何让子层的内容居底部
对齐就涉及到了position定位问题;
例
div层#box{position:relative;border:1px solidred;width:600px;hegiht:400px;}
div子层#box .wrap{position:absolute;bottom:0;border:1px dashedblue;width:200px;height:
100px},最近写的网站中http://www.msgc.net.cn/就用到了
4).div层中清除clear属性的一小部分应用
在div中一个大的层里面有很多子层,若是加上边框在ie7、ie6中或许会正常显示,但是在ff中可能
只会成一条线了,此时在最外层的后面加上<div style="clear:both"></div>或者设 .wrapfix:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}后在每个浮动外框调用wrapfix;http://www.xueshengshu.com学生书网里用到最多了。
5).解决IE8下div移位、错位等兼容性问题
在<head>标签后面的第一句话加上<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />就OK了
6).单行文字居中与字体样式问题
在div中一个层中只有一行文字,要让这层中的文字居中,可设line-height的高度和层的高度一样,注意这一层中的文字不能换行,此外,设了line-height时再给定字体样式font:bold 14px "宋体";这时要把font:bold 14px "宋体";放在line-height的前面,否则字体样式不显示文字也不居中;或者将font:bold 14px "宋体";改成font-size:16px;font-weight:bold;font-family:"宋体";就OK了。
7).鼠标滑上去的特殊效果
往往为了达到显眼的效果,我们会写到一些好看的效果,方法一在样式表中写:ul li a{border:1px solid red;}ul li a:hoverimg{filter:alpha(opacity=40在ul标签中调用即可方法二:在样式表中写上:.hover img{filter:alpha(opacity=40);}在div中调用onmouseover="this.className='hover'"onmouseout="this.className=this.classtype"即可
8).IE6中高度不对问题
今天在div中给定了高度为1px,其它浏览器显示正常,可是ie6中显示的高度就不对了,这时我给样式表中加了个font-size:0px;line-height:0px;就好了
9).ul在外框里margin-top不起作用的问题
在div大框子里用了ul作导航的时候为了合ul层居中显示,设ul的样式表为margin-top:-15px不起作用了,此时应该将div大框设定高度后给个line-height与height一样的高度,ul层就自动居中了。
例如http://www.hopes-home.cn/main.aspx
10).ff中margin-top有时不起作用的问题
今天头晕脑涨的把这问题给解决了,这几天写标网都有累似问题,可是一直都是换个写法解决的,今天的这个办法也不只可行试试还是可以的,在一个div外框层中给个宽度例如,#div_wrap{width:280px;height:100%;}
其次在这个框子里设一个.div_top{widh:100%;font:bold12px "宋体";height:24px;line-height:24px;}
.div_center{border:1px solid#dbdbdb;border-top:none;background:#fff;min-height:460px !important;height:auto!important;height:460px;overflow:visible;}
最后在这个div_center里套个ul li时经常会在ff中出问题,也就是在div_top与div_center中莫名的多了几个像素的空格,这时给ul样式表设个display:inline-table即可;
‘玖’ web前端开发常遇到的问题有哪些
前端和后端没有可比性
前端的开发,如果没有总体的设计思路,会成为一种碎片似地程序,一个效果一坨代码,一个功能一滩脚本,一个需求片逻辑,我曾经遇到过,因为ue调整,把整个前端的代码除了核心数据处理函数保留,其余的全部修改的情况。基本上前端的开发,处于dom操作,数据处理,数据交互三部分,如果合理的分配这三部分的功能,那么前端的代码就很容易扩展和调整。可惜现在优秀的前端开发者很少,因为前端门槛很低。
那么接下来我回答挑战所在:真正的前端开发的挑战,还在于开发者的思路,兼容性,布局,css js都不是问题,问题在于如何合理的组织语言逻辑,如果正确抽象出需求中的模块,在如何用代码处理。清楚的用代码表达出思路,清楚的写好注释,给后续维护者一个可阅读的思路。
前端的改动量,是后端的数倍,前端没有绝对,只有跟随需求不停的修改。
‘拾’ 在前端开发工作中一般会遇到什么问题,是如何解决的
对于经验丰富的人来说,基本上不会遇到什么困难的问题,但对于菜鸟来说,问题会出现一大堆,除非有人来总结,不然,这个问题是不好回答的