2024年最新教你如何看待程序员这个职业的前前后后(2),Web前端面试刷题

文末

我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。

首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。

前端面试题汇总

JavaScript

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

性能

linux

前端资料汇总

对于大学生,如果是计算机相关专业,想走程序员这条道路,我建议你还是尽早确立人生方向,比如你想从事前端方向,就深入研究前端的技术,可以用一门技术解决各种问题,这样就很棒棒,前端相关技术可以参考我上一篇文章:—>2020年前端技术概览

大学期间可以找一两门感兴趣的课程,朝着精通的方向研究,这个社会确定不是全才,而是专家。

关于编程这个职业,正如前一点所说的,很普通的职业。比如与建筑行业做类比,都一样,数量最庞大的还是底层的“小工”,在我眼里,如果只有一膀子力气只会别人让你干嘛就干嘛,那用手敲键盘和用手搬砖其实区别并不大,不要觉得在办公室里吹空调通宵跟在工地晒太阳相比会轻松高贵一些,近些来听到的活活累死在办公室的例子可也有不少呢。同样的,在编程这个职业里,从小工要进化成“架构师”、“专家”、技术总监等等高端岗位的难度,一点不比搬砖工进化成建筑设计师啥的岗位难度来得小,甚至更大。

学编程有前途吗?编程在当今世界只是一个很普通的职业,其他职业有的一些特性它多少都有一些。比如各位最关注的收入,和其他职业一样,高薪只属于小部分人,绝大多数人拿的工资和其他行业的区别并不是很大。所以幻想这只要入了这行就能轻松登上人生巅峰迎娶白富美的,那你还是死了这条心吧。所以说,学编程有前途,但不一定比学销售、学设计…来得更有前途。

“你看现在很多统计报告都说IT行业平均工资很高……”,列位,这年头最不靠谱的词就是平均,有多少人是“被平均”的。

写前面几点的目的不是劝退初学者。很多初学者之所以愿意进入到这个行业,我想大部分都是因为宣传的引导。有些是合理引导,比如国家学校,因为作为比较朝阳并且能带来大量税收的行业,国家当然希望越来越多的人从事这个领域推动发展;另一些是为了达到一些个人目的而进行的夸大性引导,比如部分无良培训班的一些就业保证、收入保证。在这种背景下,我希望在一些过度发热的大脑上适当地浇一点凉水,说明一下一些现实情况,冷静下来以后我们再来说后面的事情。

如果你冷静下来了以后还是愿意继续从事这个行业这个领域,那么我们就能理性地介绍一下这个职业了(这里就不灌鸡汤说为了兴趣为了梦想什么的了)。现阶段,这个职业相较于其他来说,是一个变化速度最快的职业。变化速度快会让从事这个职业的每个人都过得很累,没办法,因为变化得快你就得不停地学,停止学习就意味着淘汰,这在IT领域体现得尤为明显和残酷;反过来,变化速度快也就意味着机会大,如果说你跟上了变化速度而其他人没有跟上,那么好了,你就踩着他的尸体上去了。竞争这件事哪里都有,有些职业上的竞争点主要是经验、关系沉淀等,那么反超难度自然很大了;而编程这个职业里,经验和关系虽然也会对竞争结果产生影响,但是技术实力所占据的比重更大,因此可以说,这个职业相对机会更多。另外一方面,虽然同级人之间存在竞争,而且这种竞争更加显而易见,但实际上真正影响到你生活品质的对手是那些高高在上的前辈。之前,由于这个行业还处于一种“野蛮生长”的阶段,各种岗位的需求量都在不断扩大,这种“与前辈争利”的现象还不明显,但是在现阶段乃至未来,这类竞争会越来越凸显,直到和其他行业相同。在这个领域里,技术实力的累积虽说与经验也有关系,但当你真正入了门以后,技术实力的增长与你的专注度、精力、能用于学习的时间是非常相关的。(这里假设前提是你已经懂得如何学习、提高技术水平和能力)假如你刚毕业,浑身打满鸡血,身体倍儿棒,恰巧又是个单身狗(嘿嘿…),那么与一个40多岁,上有老下有小,身体开始走下坡路的中年工程师相比,一起去学习某个新的技术,你的优势显而易见。因此可以说,这个职业抓住机会更加容易。

所以,如果你对未来充满渴望,并且有信心坚持付出努力,那么选这行没错。没有别的,这行里付出以后获得回报的概率比较高,仅此而已。

瞎分析完行业,我们来说学编程。学编程难吗?幼儿园和小学都开始教编程啦;学编程不难吗?一些好大学相关专业的学霸也不见得是合格的程序员。然而无论难不难,先得正视这个技能。在我眼里,现在学编程跟电脑刚出现时学打字其实区别并不大。当年,一个每分钟能打一百多汉字的打字员那也是响当当的高端技术人才,如今呢,打字已经沦为和拼音一样的基本技能啦。编程也是如此,可以预见,如果只是学会了xx语言的xx语法,那么几年后的你和现在的打字员没什么区别:谁都会的东西还要你干嘛?但是换个角度想,你会打字就一定能写出好文章来么?那种阅读量几十万几百万的好文章难的是构思内容还是打字?同样的,对于编程,真正难的是如何写出能解决实际问题的代码,而不在于xx语言语法或者xx框架使用方法本身。因此,学编程,学会xx语言预发或者xx框架使用方法简单,但是必须要学(要写好文章你总得会打字吧),难学的是,如何写出能解决实际问题的代码。

程序员这个职业的学习和一些传统职业的学习存在很大的不同。如果把大学和培训机构比作一个工厂,对于一些传统行业来说,他输出的合格产品是一些能够胜任工作的员工;而对于IT行业来说,他输出的合格产品是一些能够快速学习新技能胜任工作的员工。再厉害的大学和培训机构,也不可能仅靠他们所提供的教学内容培养出完美胜任软件岗位需要的人才,这个过程中必须要求学习者自身能够自己探索,紧跟技术发展。IT行业变化很快,新技术层出不穷,也许一年前正确的理论在一年后就被人喷得一文不值。而技术是先出现于实验室研究所,然后在行业内应用,最后才会被人总结成教材出现在学校和培训机构里,这个过程需要一个很长的时间,所以对于编程来说,学校教学内容的落后是必然。因此,你不用到处说学校教材如何如何落后不靠谱,培训机构如何如何不贴合行业实际,真正落后的是你自己的思想。如果你还在学校或培训机构学习,那么你一定要分析一下a)你要什么;b)它能给你什么。我这里给你的答案是:a)你要的是这个行业的基本知识(学会打字),并且如何学习新东西的技巧;b)它能给你的是教会你基本知识。你看,有一条东西看起来学校和培训机构给不了你,那就是学习新东西的技巧,而这一点又至关重要,影响到你的职业发展。其实任何学校和培训机构在教你基本知识的过程中就在一遍遍给你演示如何学习新东西,比如让你做作业,让你看书,让你练习写代码(有些好老师会直接总结成方法单独拎出来让你学)。不是他们不给,是给你了你没接住。

培训班好不好?很难评价,但是它既然能存在就必定有其存在的价值。很多时候培训班学员找工作成功率低于科班出身或者自学出身的程序员,不能全怪人家培训班。首先,学历这东西在中国多少还是有用的,如果说你没有一个好学历,只有培训班培训经历,那你得先承认你的起点比其他人略微低了一点(这里插一句,无论学什么东西,承认自己的弱点只有好处没有坏处);再者,我相信有很多人选择培训班是因为不知道怎么自学,那么按照第7点的分析来看,“如何学习新东西”这项关键技能对于这部分同学来说,从开始时就要弱一些。而这部分同学在经历了培训班之后如果只掌握了基础知识,而在最缺乏的“学习新东西的能力”上没有所斩获的话,我说直接点,培训班上了跟没上区别不大。

如果选择上培训班,那么需要注意哪些事情呢?首先上了培训班的一个最大好处在于你会比自学更加专注,更加能保障时间和精力的投入,并且不会轻易放弃。你交钱了,还不便宜,半途退缩人家也不给你退钱,所以处于心疼钱你也会好好听,也会坚持到课程结束(土豪忽略)。另一方面,封闭式的环境让你难得没有心思和时间干别的,说真的,在如今这个时候,想找这样的环境真挺不容易的。上了培训班就得努力,毕竟人家也只是辅助,最终能学多少还是在你自己,你要是上课睡觉作业不做谁都救不了你。认真听讲努力学习是必要条件但不是充分条件。另一个,你得自己找资料再以基础知识为起点再学点别的,这一点最为关键。学一点别的不是为了让你有资本在同学面前吹牛逼,而是要通过方式一点点学会,在没有老师教的情况下,你自己还是能学会一些东西的。在培训班上课期间,你要不断练习这件事情,否则就如我前面说的,培训班上了跟没上区别不大。

所以我来总结一下培训班这件事:

  • 上了培训班就能有高薪工作。假的,趁早死心,高薪跟培训班无关,跟你这个人本身有关,人家否定的就是你这个人,而不是你上培训班的经历。

  • 培训班都是骗子。不对。骗子是存在的,也听说过以培训为名实际上是传销的,也听过搞什么学费贷款其实是诈骗的,这种是真的骗子,培训班只是他们骗人的手段。而对于正经上课的培训班来说,一方面上培训班是投资,投资有风险(老师水平有高低);另一方面你自己如果没搞清楚你需要从培训班得到哪些东西,出来找不到工作,我认为这个责任在于你自己。

  • 培训班作用很大。对于自制力差,周围干扰因素多的人来说,这句话对。对于自制力强,学习能力强的人来说,作用确实不大。

  • 业界歧视培训班,简历上有培训经历找不到好工作。假,我说句实在话,自己菜就是菜,别找客观原因甩锅,你要是怕过不了简历海选你可以走内推渠道啊,这年头对于高手哪个人不是如饥似渴的。如果你觉得能力强技术好但是没找到工作,请把简历私信发我,我可以无偿对你做评估,如果确实有实力,我包推荐(热烈欢迎,我们这如饥似渴期待高手的加盟),到时候进来后就算我给你打下手我也心甘情愿,抱着你的大腿求你带我飞。

你的工资与什么相关?在一个公平的环境里,你的工资与你能为公司创造的价值相关,这是一定的。那么如何产生价值?那就是替公司解决问题。能解决问题的事就是有价值的事,无法替公司解决问题的事就是没价值的事,就是这么简单。这样一来可以看到,你的技术和你的工资实际上并没有直接关系。我举个例子,如果一个公司他只有PC端产品,公司的收入全部来自于PC端产品,那么你手机开发能力的高低对于公司来说是没有意义的。这种情况下能给公司产生价值的有这样几种渠道:1. 公司以后可能会发展手机端业务,那么留着你当储备人才,那么你就是能替公司解决“当需要发展手机端业务时如何快速开始”的问题,产生了价值;2. 你经验丰富触类旁通,你多年的工作经验对现有PC端业务也有指导意义,那么发挥作用的不是你手机端开发技术的高低,而是伴随他的其他能解决问题的技术。由此得到了几点建议:1. 如果你不打算换工作,那么想要提高工资(公平的环境),就要分析公司的核心问题是什么,然后一层层细化分解,选择问题去尝试学习新的工具方法去解决,你能解决的问题层次越高,越接近根本问题(公司的根本问题就是持续快速赚钱),你的价值就越大;2. 根据自己掌握的技术选择一个能让你发挥最大价值的公司。

产生价值的只有技术?如前面所说,技术是间接产生价值的,直接产生价值的是解决问题。解决问题的第一步是发现问题,或者说是理解问题。不知公司需要你解决的问题是什么,不理解问题内容的程序员技术再牛逼,也产生不了价值(至少在这家公司)。而一些非技术的专业知识,对发现问题理解问题的作用是很关键的。比如说如果要开发一款炒股软件,那么本科学金融学然后转行做技术的程序员能产生的价值,会高于本科就是学软件而技术水平又没有显著优势的程序员(因此啊,科班程序员注意了,如果你的技术水平和非科班的程序员差不多,那你们的价值实际上已经差很多了,只不过对方不一定把价值完全发挥出来了而已)。解决问题的方法有很多,解决问题过程中涉及到的事情也有很多,技术只是一小部分罢了。可能你技术不强,但是擅长统合资源,擅长项目或人员的管理,那么依然价值巨大。反而由于技术具备可替代性,技术对于问题的解决倒是没有想象中那么巨大的作用(例如对于那些业务强势的小公司,大不了技术的活外包出去咯)。对于做技术来说,不要妄自菲薄把自己比作苦力,但也不要自视过高觉得公司少了自己就不转了。做技术,不仅要关注技术本身,更要关注你所在的业务领域。而那些从别的行业转行过来的程序员,如果你转行成功了,那么你的实际价值其实非常巨大,千万不要得自己不如别人,反而要冷静分析一下自身的优势,选择适当的领域悉心钻研,把自身发质发挥到最大。

总结

前端资料汇总

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。

  • 算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯

  • 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。

  • 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
    喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值