前端都在聊什么 - 第 2 期
Hello 小伙伴们早上、中午、下午、晚上、深夜好,我是爱折腾的 jsliang~
「前端都在聊什么」是 jsliang 日常写文章/做视频/玩直播过程中,小伙伴们的提问以及我的解疑整理。
本期对应 2023 年的 01.16-01.31 这个时间段。
本期针对「规划」「工作」「学习」「闲谈」这 4 个板块进行了讨论,看看有没有能解决你心里疑惑的。
你的 关注 和 点赞 是我持续更新的动力💖,谢谢大家~

一 规划
对于未来规划,这边大声吼一下小伙伴们:
准备转行的、准备裸辞的注意了,千万不要冲动,今年可能不存在金三银四!
外面市场不稳定,能先找到 base offer 再跳槽最好。
没有保底 offer 的不要冲动,先观察观察再下水。

1.1 Question:前端还行不,还能找工作不?
看城市,看具体企业需求,暂时没有具体的表现。
有些小伙伴会说行情不好,其实 jsliang 感觉从 2020 年开始,行情就没好过。
不止前端这一行,随着涌入的新人越来越多,行业市场缩口,这些问题暴露,导致越发难做了。
比如人尽皆知的房地产
那么,对于各种情况,我的建议是这样的:
首先,对于一个熟练工来说,找工作还是可以找的。
只是找工作的薪资问题,「而已」~

然后,如果小伙伴是想转行,转前端的。
那么,要衡量下前端和旧职业的区别。
是非互联网行业转互联网行业,还是说服务端转前端/产品转前端。
对比下 2 者的薪酬和前景,好好衡量下这里面差别。
我们最重要的是:拿最少的时间,做最有价值,最让自己心动的事~
接着,如果小伙伴是大学生,想学前端。
那么,就有比较充裕的时候,考虑下如何实习,以及升更高职级,拿更高薪资的问题。
再来,如果小伙伴是应届毕业生,之前大学没学好,想尝试看看前端。
那么小伙伴可以考虑下先就职中小公司,先搞定自己出来混的问题,再看看如何挑战更高的目标。
最后,这里面,如果有工作的,千万不要裸辞转行和跳槽,一定一定要有基础 offer,避免辞职后找不到工作的尴尬场景。

1.2 Question:学前端还是后端?
目前在非互联网行业,在考虑是学前端还是服务端(Java)
对于现在的互联网行业来说。
1、兴趣
你是比较对数据感兴趣,还是对界面交互感兴趣。
前端对用户交互、界面及其动画等内容比较多打交道。
Java 它比较偏数据,你可能要跟服务器、数据库打交道,提供接口给前端。
(Java 你可能不太会接触到用户,不需要知道用户有什么交互需求,一般会提供数据接口,进行优化和保障安全等)

2、前景
如果是应届生,或者急用钱。
为了尽快找到工作,建议你先找自己熟悉的职业,先进入舒适领域,减少你的烦躁,再慢慢发展。
如果想多考虑下前景,那你就对比下前端和服务端。
其实 jsliang 个人感官,服务端更容易升职一点(小组长之类的)
因为数据是掌握在服务端、运营手中的,对于数据消费和数据统计比较清楚。
在一些公司上,前端可能因为没法接触数据,不知道用户一些行为是有怎样的效果,就比较难升小组长。
1.3 Question:前端学习方向?
这里大概讲讲 jsliang 对于前端学习和复习上,怎么做准备的 个人想法。

1、关于学习
首先,我们需要明白自己对哪一块比较敏感。
是数据吗?是图形吗?还是交互呢?
数据:
Node.js做中间层,进行数据转换之类的(偏服务端)图形:
ECharts等大数据报表,亦或者可视化交互:
CSS3/JavaScript制作动画等,让用户感受更加好的体验性能优化、项目构建等……
然后,我们都知道,支持我们走下来的:
要么是钱
要么是兴趣
如果上面的兴趣,你都不考虑,只想赚钱,那么你可以看看哪些岗位赚钱。
有个 残酷的话题,叫做技术好,不一定能有更高的工资。
我们要理解的是,只有当技术能创造更高价值的时候,才能有更高报酬。
所以,有些时候,你能干青春活,拿高薪酬。
但是,等你的价格,比价值高很多的时候,公司优化事项就盯上你了。
最后,不要吃后悔药。
如果你真要做,那就做到更好,做好这个心理准备:
做不好,就滚蛋
要么不做,要么就做到更好。
没有后悔药,只有撞南墙。
2、关于复习
复习方向我跟很多小伙伴都聊过,这里讲讲自己的一些简单了解:
八股文(一面)
项目经验(二面/三面)
关于八股文,可以看 jsliang 之前为自己准备的,今年估计要补充一点内容,小伙伴自行查找资料吧~
https://github.com/LiangJunrong/document-library/tree/master/%E7%B3%BB%E5%88%97-%E9%9D%A2%E8%AF%95%E8%B5%84%E6%96%99


关于项目经验,抱歉,爱莫能助。
项目经验一般会询问你自己工作项目上,一些亮点,一些重难点。
这就需要你对自己的工作,有一定的挖掘,能凸显出工作的难度和你的能力。
如果你感觉不知道从哪方向着手,可以看看其他大佬都在聊什么:
知乎 - 作为前端,工作中处理过什么复杂的需求,如何解决的?
1.4 Question:担心自己能力不能胜任?
首先,有的小伙伴觉得自己很菜,看到有 XX 公司的招聘,却不敢投递。
这里统一说下,菜不菜是一码事,试不试是另一码事,梁峻荣给你的勇气,踏出第一步吧!
jsliang 现实名字叫 梁峻荣

然后,还有的小伙伴觉得自己不聪明,怕做不好。
其实,我们可以不用很聪明。
在日常工作/学习中,能给自己定好目标,然后去做、去实践下来,就已经成功,就是聪明的做法了。
像 jsliang 这种从小到大很少有技术指引的,看到别人能有名师,能有好资源,也羡慕啊。
但是从定目标和落实这一块,能干过我的没几个!
所以就要多尝试,多去接触更多有趣的小伙伴,来提升自己~
加个好友,聊个 5 毛钱的天?可以 WeiXin:Liang123Gogo

接着,还有小伙伴担心学历让你拿着高薪资不安。
其实这块完全不慌,我认识的,有个小伙伴大专 3/4 年经验,月薪比我高,技术也比我牛逼。
有些刚出来的研究生,现在薪资拿着比我低。
最后,有些小伙伴担心自己工作经验不够。
其实大多时候,别看 jsliang 做了 3-5 年,实际上我自己有时候都觉得,只是前几年有增长,后面基本都在吃老本。
所以完全不要慌,你可以的!
1.5 Question:想自己创业?
工作几年,至今没有创业的想法,这里说下自己「浅显」观点。
如果你是技术创业,那么你可能需要学深透一点,搞明白一些技术卡点在哪。
要不然会出现招了个大佬过来,然后出现下面人说啥就是啥,被大佬拿捏的情况。
另外,希望你能对你创业的这条产业链,有自己思路想法,知道里面的一些关键细节。
如果 2023 开始考虑,那就从上面 2 点着力,开始准备,等 2023 年下半年准备发力吧。

二 学习
2.1 Question:平时应该如何学习?
1、最重要的事
关于学习,需要强调的一点,就是 自律。
唯有自律,才能拯救自己。
习惯是慢慢养成的,我们平时不自律,大概率在于我们工作忙、生活忙,回头发现自己一天没有属于自己的时间。
于是乎,你就放不下手机,你就刷手机到 1/2 点,这样下来你的自律直接爆炸,学习也就难以为继了。
jsliang 的作息表:
* 起床:07:40
* 学习(早上):08:20-08:50
* 午休:12:00-14:00
* 学习(中午):12:50-13:20
* 跑步:18:00-19:00
* 学习(晚上):21:00-23:00
* 睡觉:23:10所以,不要尝试给自己找借口,有些人不能早起,有些人午休时间短,那就调整好节奏来学习。
2、最清晰步骤
首先,确定好你的目标。
我们即将要做的事情,应该是 最重要的事,就是这个事,能提供我们很大的价值和帮助。
看看别的小伙伴是怎么定计划的:

就好比,我发现自己 CSS 这块比较差,于是打算做一个 CSS 学习系列:
CSS 实例系列
OK,我们很容易就可以确定一个目标。
然后,我们开始收集材料,判断我要写哪些内容:

OK,咋看我们还挺多素材可以做的,那就开始整下来。
最后,就是如何保持输入和输出的问题。
很多时候,我们都在做输入,其实这是一个很差的感官,因为别人不知道你做了啥,你不和别人分享,纯粹学习会少了很多乐趣。
所以,你还需要将自己学习到的,做一个好的输出。
jsliang 的输出,一般保持【文章】+【视频】的方式,这样就可以跟很多小伙伴打交道,让大家跟我聊其中一些问题。
加个好友,聊个 5 毛钱的天?可以 WeiXin:Liang123Gogo

2.2 Question:学习 Vite 的路线是怎样的?
其实 jsliang 这边学习 Vite,一开始的目的,是在一大堆代码中,抽取单独的 2 个模块出来。
然后想了下,拍脑袋直接将旧项目的 Vue Cli + Webpack 改造为 Vite + Vue。
我这边学习是带着目的 的,就是要做到某种程度。
学习的几种目的:
没有目的,纯粹学习。对着官网,一个一个看 https://cn.vitejs.dev/guide ,就好比我之前学 Webpack,也是这样纯粹的学(时间多的做法)
抱有强烈目的。这种一般都是因为时间比较少,所以你就学习去整,带目的去整理 迁移 Vue v2.x 版本到 Vite
三 工作
3.1 Question:工作写代码太慢了?
其实有些东西,自己写真的慢,这点是毋庸置疑的。
如果老板急着用,那就满世界找仓库吧,能复用就复用;
如果有时间总结,并且你善于总结,那就边总结边写吧。
自己写的好处,其实就是后续维护的时候,能有更多时间去思考怎么来修改,而不是受限于第三方的约束。
没啥要求的话,能用框架就框架,重复造轮子的时间能省就省。
四 闲谈
4.1 Question:微前端是什么?

微前端,简单来说,就是多个项目的组合使用,如何更流畅的凑合在一块。
就好比有多个项目,分别用 jQuery、Vue 和 React 做的,技术栈不统一,放一块也矛盾。
这时候,就想法子让多个产品聚合在一块。
Iframe -> 一种组合

Shadow DOM -> 另一种组合

4.2 Question:为什么用脚手架?
我们平时写代码的时候,用的语法,可能在各个浏览器是不兼容的。
为了让它兼容,或者让它最终能在服务器上运行,用户能在各个浏览器正常访问页面。
如果没有脚手架,我们就需要一步一步去整理,比较浪费时间。
而有了脚手架之后,就可以提升我们工作效率,让它帮忙将打包过程中一些问题直接处理掉。
不折腾的前端,和咸鱼有什么区别!
觉得文章不错的小伙伴欢迎点赞/点 Star。
如果小伙伴需要联系 jsliang:
Github
掘金
个人联系方式存放在 Github 首页,欢迎一起折腾~
争取打造自己成为一个充满探索欲,喜欢折腾,乐于扩展自己知识面的终身学习斜杠程序员。
jsliang 的文档库由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议 进行许可。
基于 https://github.com/LiangJunrong/document-library 上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。
相关文章:
前端都在聊什么 - 第 2 期
Hello 小伙伴们早上、中午、下午、晚上、深夜好,我是爱折腾的 jsliang~「前端都在聊什么」是 jsliang 日常写文章/做视频/玩直播过程中,小伙伴们的提问以及我的解疑整理。本期对应 2023 年的 01.16-01.31 这个时间段。本期针对「规划」「工作」「学习」「…...
每天一道大厂SQL题【Day11】微众银行真题实战(一)
每天一道大厂SQL题【Day11】微众银行真题实战(一) 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…...
Cosmos 基础教程(一) -- 不可不知的开发术语
CometBFT DOC 您可以在本节中找到几个技术术语的概述,包括每个术语的解释和进一步资源的链接——在使用Cosmos SDK进行开发时,所有这些都是必不可少的。 在本节中,您将了解以下术语: Cosmos and Interchain LCD RPC Protobuf -协议缓冲…...
JAVA JDK 常用工具类和工具方法
目录 Pair与Triple Lists.partition-将一个大集合分成若干 List集合操作的轮子 对象工具Objects 与ObjectUtils 字符串工具 MapUtils Assert断言 switch语句 三目表达式 IOUtils MultiValueMap MultiMap JAVA各个时间类型的转换(LocalDate与Date类型&a…...
Spring Bean循环依赖
解决SpringBean循环依赖为什么需要3级缓存?回答:1级Map保存单例bean。2级Map 为了保证产生循环引用问题时,每次查询早期引用对象,都拿到同一个对象。3级Map保存ObjectFactory对象。数据结构1级Map singletonObjects2级Map earlySi…...
Hive 2.3.0 安装部署(mysql 8.0)
Hive安装部署 一.Hive的安装 1、下载apache-hive-2.3.0-bin.tar.gz 可以自行下载其他版本:http://mirror.bit.edu.cn/apache/hive/ 2.3.0版本链接:https://pan.baidu.com/s/18NNVdfOeuQzhnOHVcFpnSw 提取码:xc2u 2、用mobaxterm或者其他连接…...
IPD术语表
简称英文全称中文ABPannual business plan年度商业计划ABCactivity -based costing基于活动的成本估算ABMactivity -based management基于活动的管理ADCPavailability decision check point可获得性决策评审点AFDanticipatory failure determination预防错误决定AMEadvanced ma…...
目标检测损失函数 yolos、DETR为例
yolos和DETR,除了yolos没有卷积层以外,几乎所有操作都一样。 HF官方文档 因为目标检测模型,实际会输出几百几千个“框”,所以损失函数计算比较复杂。损失函数为偶匹配损失 bipartite matching loss,参考此blog targe…...
linux系统编程2--网络编程socket
在linux系统编程中网络编程是使用socket(套接字),socket这个词可以表示很多概念:在TCP/IP协议中,“IP地址TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址端口号”就称为socket。在TCP协议中&#…...
FPGA纯Verilog实现任意尺寸图像缩放,串口指令控制切换,贴近真实项目,提供工程源码和技术支持
目录1、前言2、目前主流的FPGA图像缩放方案3、本方案的优越性4、详细设计方案5、vivado工程详解6、上板调试验证并演示7、福利:工程源码获取1、前言 代码使用纯verilog实现,没有任何ip,可在Xilinx、Intel、国产FPGA间任意移植; 图…...
华为OD机试题 - 最长合法表达式(JavaScript)| 代码+思路+重要知识点
最近更新的博客 华为OD机试题 - 字符串加密(JavaScript) 华为OD机试题 - 字母消消乐(JavaScript) 华为OD机试题 - 字母计数(JavaScript) 华为OD机试题 - 整数分解(JavaScript) 华为OD机试题 - 单词反转(JavaScript) 使用说明 参加华为od机试,一定要注意不要完全背…...
L1-005 考试座位号
L1-005 考试座位号 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试…...
Obsidian + remotely save + 坚果云:实现电脑端和手机端的同步
写在前面:近年来某象笔记广告有增无减,不堪其扰,便转投其它笔记,Obsidian、OneNote、Notion、flomo都略有使用,本人更偏好obsidian操作简单,然其官方同步资费甚高,囊中羞涩,所幸可通…...
对比学习MoCo损失函数infoNCE理解(附代码)
MoCo loss计算采用的损失函数是InfoNCE: 下面是MoCo的伪代码,MoCo这个loss的实现就是基于cross entropy loss。 将k作为q的正样本,因为k与q是来自同一张图像的不同视图;将queue作为q的负样本,因为queue中含有大量…...
logd守护进程
logd守护进程1、adb logcat命令2、logd守护进程启动2.1 logd文件目录2.2 main方法启动3、LogBuffer缓存大小3.1 缓存大小优先级设置3.2 缓存大小相关代码位置android12-release1、adb logcat命令 命令功能adb bugreport > bugreport.txtbugreport 日志adb shell dmesg >…...
【汽车雷达通往自动驾驶的关键技术】
本文编辑:调皮哥的小助理 现代汽车雷达装置比手机还小,能探测前方、后方或侧方的盲点位置是否存在障碍物,但这还不百分之百实现全自动驾驶的。传统的汽车雷达分辨率都不高,只能“看到”一团东西,可以检测到汽车周围存在…...
2023实习面经
实习面经 秋招笔试面试全记录 字节-电商 字节实习一面: 二分类的损失函数是什么,怎么算?多分类的损失函数怎么算?如果文本分类的标签有多个,比如一个文本同时属于多个label那怎么办?如果文本分类里面的…...
linux shell 入门学习笔记2shell脚本
什么是shell脚本 当命令或者程序语句写在文件中,我们执行文件,读取其中的代码,这个程序就称之为shell脚本。 有了shell脚本肯定是要有对应的解释器了,常见的shell脚本解释器有sh、python、perl、tcl、php、ruby等。一般这种使用文…...
Android稳定性系列-01-使用 Address Sanitizer检测原生代码中的内存错误
前言想必大家曾经被各种Native Crash折磨过,本地测试没啥问题,一到线上或者自动化测试就出现各种SIGSEGV、SIGABRT、SIGILL、SIGBUS、SIGFPE异常,而且堆栈还是崩溃到libc.so这种,看起来跟我们的代码没啥关系,关键还不好…...
HyperOpt-quniform 范围问题
在使用 quniform 的时候,可能会出现超出指定范围的值,例如对于 GBDT 设置参数空间为 learning_rate:hp.quniform(learning_rate,0.05,2.05,0.2),但是仍然会报错 ValueError: learning_rate must be greater than 0 but was 0.0,但…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
