谈:写烂代码才是面向人民币编程的精髓(1),2024年最新面试靠背

  1. 面向面试编程:大厂面试必须有足够的理论基础加忽悠能力,不然不足以体现你的过人之处。业内某技术大咖曾放话:只要代码不上线,PK从来不会输。面试造火箭,工作拧螺丝是大多数大厂员工得现实生活。

  2. 能力展示:文无第一武无第二,功夫用不用是一说,但如果一点不会同事们是肯定不会服你的。如果代码评审,设计评审说不出点有分量的,除非有其它过人之处,兄弟们是不会高看你一眼的。

  3. 装B:比如著名的博客技术专家耗子老师和阮老师,工程能力怎么样不评价,起码理论水平摆在那里,相关博客本熊也是时不时上去学习一二,开内容收费韭菜割起来嗖嗖的。看不起?不存在的,只恨自己做不到,羡慕嫉妒恨都来不及呢。

为什么要在日常工作中写代码,这要从资本家如何赚钱说起。对于资本家来说,利润越高越好,成本越低越好。大多数情况下,资本家们更懂如何赚钱,但是对编程基本一无所知。他们关注的是产品能否以最低的成本交付,至于怎么实现的并不关心。我付了钱就得在规定时间内把活干了。说两个真实的笑话,某市值千亿上市公司CEO亲口所说:

  1. 这个功能有什么复杂的,不就一个页面,为什么一晚上画不出来?

  2. 为什么不能把Excel的功能做到我们的系统里?Excel这么简单的东西,微软已经有了,抄一下不是很快的事吗?

对于大多数业务驱动公司来说,程序员的牛B与否是无法改变甲方爸爸能给多少钱的,真正决定的是甲方爸爸的现有业务能赚多少钱。这也就是为什么我们发现大多数牛B程序员都在互联网大厂或者底层厂商(操作系统,数据库等等),因为对于这些厂商来说业务是由技术驱动的,而且有足够的利润率支持用来招聘牛B的程序员和支持他们试错。甲方只为产品和服务付费,不为中间过程和看不到的地方付费。架构设计再好,编码质量再高,设计模式运用炉火纯青,Nobody cares…反正项目就这么点预算。

对于团队来说,个人的牛B无法改变整体产出的。大厂的牛B程序员们大多数是因为站在了正确的行业风口,而他们又比其他人更为出色一点,当然也有少数人是凭一己之力开创一个时代。对于一个作坊里一个超过5人的程序员团队,即使有一个人编码效率是别人的3倍,但是他一个人不可能把所有的活做了。而且与我们想象的程序员每天工作埋头编码不同,大多数时间是在与产品撕B,排查线上故障,编写文档,偶尔还要跨部门扯个蛋,每天真正有效编码时间不超过30%。所以3倍生产力在老板看来也就撑死多个30%的产出,而且项目也不是天天排满,加个15%的工资已经是天地良心。

所以,对于程序员来说去大厂并不是你干的活更有难度,而是享受了大厂高利润率的红利。说白了就是粮仓里的老鼠与粪坑里的老鼠的区别。那么,对于大多数混迹与软件作坊的普通程序员来说,该如何最大化我们的利益呢?简单说就是写烂代码!!!如果对自己技术自信就赶紧跳槽去大厂,或者挤出业余时间努力自学,如果都做不到,那么就乖乖的按我下面说的去做。

老板关注的是产出的结果,只要功能都做完,bug别太离谱,那么你就是安全的,对得起老板的这份工资。真有外包公司按代码量考核工作量,对于不懂得老板,这是最简单得考核指标。什么重复功能封装抽象,业务解耦合,参数配置话,统统扔一边去,把功能实现了就行。反正这代码我天天打交道,要改哪些地方我都知道,大不了多报几个bug多修几次。什么,你说工作量大效率低容易出错?不!老板不会这么想,工作量大你加班解决就是,没准我还能向甲方多报几个工时;容易出错?那是因为项目复杂啊,加钱。对于老板总不见得跟甲方说因为这个项目我用了牛B程序员,1周能把原来1个月得活干完,你得加钱?

烂代码是职位安全的有效保障。功能交付了,运行稳定无故障,甲方后续需求因为架构设计合理,随便上个实习生就满足了,对于老板来说这些都是理所当然的工作,后面随便找个便宜的人替代维护,提高利润才是重要的事情啊,类似的项目找人抄抄就行。这种事情听着魔幻,但在各种作坊里却是真实发生的事实。如果代码写得烂,就需要不断有人维护,要加新功能,就不能随便找个人接手,不然等工期结束原来的代码都还没整明白。而且只要这个系统还在线上运行不能下来,老板基本上得捏着鼻子付你工资,因为找人接手不是那么容易的事情。不如你的大概率不知道哪里有坑捅了大娄子没法收拾;比你强的去哪不好非得来收拾这个烂摊子。老板即使各种不满意,也磨合这么久了至少对下限有个底,不能忍还咋的?

写烂代码也要对自己负责,烂的地方自己要心中有数,线上出现不可控的bug是不允许的。曾看过一段代码,下面列的问题差不多基本都齐了,开发做需求每天工作量满满,我去和他聊重构,啪,这哥们掏出一本笔记…不怕,坑都有记录,保证不出大问题。重构出了故障算谁的?重构能增加业务营收吗?重构好了系统不需要我维护了怎么办?灵魂三问!得了,咱继续这么愉快的玩耍吧。员工每天很有安全感充实的工作,老板觉得大家每天很忙,而且系统老出bug是因为难度大,所以不稳定,大家每天加班都很努力了,态度端正是最重要的吗。

下面简单说下我见过的某公司内部核心管理系统的一些见闻,因为系统烂,所以…

  1. 大量业务信息硬编码,修改挂一漏万,上线了用户就是最好的测试。

  2. 前端混合业务逻辑,上千行的函数到处都是,反正东西都在脑子里,不怕死的自己琢磨去。

  3. 封装看心情,类似的功能写了十几个地方,能一次找到改完算你赢。

  4. 业务紧密耦合牵一发而动全身,动不动某个功能就要全部重写。一个星期后想用?咱哥们这么多年的交情就等一个月吧。

  5. 数据库查询大量字符串拼接,想注入攻击分分钟。

  6. 大量业务逻辑存储过程写死,查询效率感人…

虽然公司一直想动这个系统,但是不管业务方还是技术部门,都没有不怕死的跳出来,所以整个系统还在继续忍辱负重…相关人员还得继续养着,多好啊。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

刷面试题

刷题的重要性,不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。

  • 前端字节跳动真题解析

  • 【269页】前端大厂面试题宝典

最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-NVevUvgE-1712962864067)]

在RStudio中,我们可以使用`ggplot2`库来创建茎叶图,并通过设置`geom_jitter()`或`geom_boxplot()`来控制离群值的显示。这里是一个例子,展示如何绘制两组数据并隐藏离群值: ```R # 首先确保已安装所需的库,如果没有,运行下面命令 install.packages("ggplot2") # 加载必要的包 library(ggplot2) # 假设我们有两组数据,分别存储在data1和data2变量中 set.seed(123) # 设置随机种子以便于复现 data1 <- rnorm(50, mean = 50, sd = 10) data2 <- rnorm(50, mean = 60, sd = 8) # 创建茎叶图 p1 <- ggplot() + geom_jitter(data = data1, aes(x = "", y = data1), width = .1, height = .1, show.legend = FALSE) + geom_jitter(data = data2, aes(x = "", y = data2), width = .1, height = .1, color = "red", show.legend = FALSE) + scale_y_continuous(labels = function(x) ifelse(is.na(x), "", round(x, 1))) + # 隐藏NA值 theme(axis.text.y = element_blank(), axis.ticks.y = element_blank()) # 移除y轴标签和刻度 # 如果你想保留箱线图来显示分布情况而不显示离群值,可以用boxplot代替jitter p2 <- ggplot() + geom_boxplot(data = list(data1 = data1, data2 = data2), aes(y = factor(c("Data1", "Data2")), x = "")) + coord_polar(theta = "y") + theme_void() # 显示图形 grid.arrange(p1, p2, ncol = 1) # 将两个图放在同一行 ``` 在这个代码中,`geom_jitter()`用于创建散点图形式的茎叶图,而`geom_boxplot()`则用于显示箱线图。`scale_y_continuous`和相关的theme选项被用来移除y轴的数值标签和刻度,达到隐藏离群值的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值