前端面经、吐个槽吧

2019-07-14 03:25:58 +08:00
 Ljf980

从 3 月份开始到现在,陆续面了有阿里、oppo、平安、腾讯、新浪、字节等加一些中小厂

因为感觉在公司达到一个瓶颈,自学不够顺利,方向定不下来,有点迷茫,不知怎么走的感觉,所以想去面大公司,提升一下视野

先说一下我面试前对公司以及薪资的要求
公司:
大厂、中厂(加班可接受,毕竟福利高,薪资高,可学东西多,自愿加班。比如我现在的公司,我回去没事干,一般都会选择呆在公司 10 点 /11 点,看技术博客,写笔记等等)
不去小厂(受够了加班到 9/10 点甚至更晚的创业热情)

薪资:
最初是年薪 30
后面降到 27
我的目前年薪是 22

然后大公司的套路,虽然大家隐约知道不好进,是因为算法等各种原因,但是不实际尝试一下,你还真不知道感受

最初阿里就倒在了在线测试,得了个 "B+" 评价好像·····[掩面···]
在线测评的面试题大家搜索一下就有了,我就不说了
大部分前端都希望通过 node 来提升自己的价值
我也是一样,一般都认为阿里的前端发展的最好,所以我还是很想去阿里的
奈何已经挂了,不能再面了

oppo 倒在 对 Vue 原理理解不够深,因为招的是高级

平安是最后一面,我年薪喊太高,谈薪都不给,回复不够优秀,想在看看其他候选人(猎头那边看到的评价)
其实众所周知平安对于跳槽的人来说提薪并不高,有也是个例

腾讯···面了很多腾讯系部门,好几个到最后一面挂了,原因就多了
算法不过关:面试技术部门,尤其 QQ 系,很多都是 C++出身的,出了 n 道算法题,我一个前端我能有什么办法···没事去刷刷 leetcode ?
纯算法我真不大会啊,比如问我?在一个 n 长度字符串中,求最长回文子串!!!我去 leetcode 看了,居然是中级难度,要不要这样啊,我只是一个前端,真的不刷 leetcode !!!
扪心自问不刷 leetcode 你拿到这道题你会做吗!!!另外我当时做这个题用的是暴力遍历~~~
现场 coding 实现不够优雅:给了电脑现场做,做出了面试题,然后和面试官一起优化写的代码···
知识细节不够:大公司碰到的问题小公司遇到的少,比如 localStorage 写不进去了怎么办等等极限问题,还有安全攻防类的,可以说是比较生冷的也是重要的知识
不会日志监控:之前没做过日志监控,面试评价说了这一点,无奈···
自己作死:因为自己最后一面吹自己的职业生涯规划,然而这个规划并不和公司的主营业务相关。我的规划是前端架构师,而公司是主做微信小程序
学习深度不够:和初面面试官聊的很好,然后面试官跟领导说到我对原理了解不深,领导直接说原理了解不深,说明学习深度不够,pass,见都不见我一面····
···
总会有一个理由适合你···

字节,初面小哥目测是个组员,问了几个问题都答了出来,后来出了两道代码题,做出了一道业务题,另外一道算法只做出一半,后面没过,猎头那边查看评价代码功底一般···其实挺不服气的
问问题的时候问了他们技术栈,主要是 react,这才是主要问题吧(我知道大厂对技术栈不在意,对 Vue 熟练,react 上手也不难,然而字节这个我真不服气,再说一遍)
猎头也说了好几个不错的腾讯系的也挂了一面,不知道字节在搞什么
补充一点,发现大厂还是 react 用的多····vue 虽然也用,但是主要还是 react 为主

新浪也是到了最后一面,总监问我接受加班 /996 吗?我对新浪不怎么感冒,之前进去也只是抱着拿个面试经验,所以很硬气的回复加班可以,6 就不接受了。
不出意料后面没下文了[手动狗头]
其实还谈到了薪资,然后我当然还是要的 27,但是新浪年终奖估计有 6/7/8 个月,这样算下来我的月薪就提升不多,所以我后面又提高了我的薪资期望,算下来有 30+了,他们更不肯招我了

中小公司比较容易进:面试题啥的都 ok,就是我薪资要的高,有些自己就不联系我了,后面我降低了要求,拿到了一家 27/年,但是我拒绝了,原因就不说了

在这个漫长过程中,慢慢的积累了一些不足
开始深挖底层,关注性能优化,了解日志监控
主要还是把时间花在熟悉 Vue 源码实现上
学习框架设计原理确实能帮助自己成长

目前我自己的状态应该是这样的:

3 年半纯前端工作经验

熟悉 HTML5+CSS3,能开发响应式的移动端和 PC 端网站
熟悉 Vue 原理,阅读过源码实现,能更好的解决 Vue 项目中遇到的问题
熟练使用 Vue 全家桶,能用来开发模块化、组件化的项目
熟悉 ES6 语法,能写出精简、可扩展代码
熟悉 Webpack、Gulp,能用来构建前端项目,实现工程化
熟悉 MVVM 和 MVC 原理
熟悉 Hybird App 混合开发模式
熟练 HTTP/HTTP2 (基本知识)
能使用 NodeJS 书写爬虫、开发小程序后端,PM2 部署发布
了解 Linux 基本操作,了解 Nginx 等 Web 服务器配置
了解 PWA 渐进式 Web App 开发
开发过 Web SDK,编写使用文档并负责解决使用中产生的问题

写了好多个管理系统都是用的 vue 全家桶,算是重度 vue 使用者了
也搞了两个 ssr 服务端渲染 vue+nuxt 实现
还写过几个轮子 图片压缩的,阿里云刷新 cdn 的,webpack 构建模版等等
https://github.com/QingshanLuoyue/tiny-imagemin
https://github.com/QingshanLuoyue/markdown-pdf-marked
https://github.com/QingshanLuoyue/aliyun-cdn-refresh
最近在研究日志监控

在公司主要做的:
主持前端技术分享,引导、鼓励组员分享各自的知识,说出自己的想法,加强各个组员的交流:交流才能使人进步,作为带头人我很骄傲
负责公司前端架构设计和内部工具开发:内部通用组件,通用工具,通用主题库、以及每周技术分享文章
参与需求评审、项目排期、架构设计、任务分配和编码:现在前端应该提前参与,提出自己的疑问和意见,保证产品少坑?
网站性能优化方案设计,加载速度优化:真正体现自己与菜鸟的不同?
推进前端工程化、自动化、模块化:这年头是个前端都要会了吧~~~

公司内部自己搞过 nginx 配置测试环境,基本上,前端这边的后台如果是 nodejs 的话,后端配置都是自己搞了,遇到坑也是自己摸索着去填
然后 jenkins 构建项目发布到目标机器,机器与机器间使用 ssh 的公钥秘钥免密使得 jenkins 构建完成后 scp 到测试环境机器
当然不止测试环境,线上环境也是自己来搞

我接触前端方向算多了
小程序、H5、PC/移动端响应式、混合 APP 开发、WebSDK 开发、node 都能在工作中胜任业务,但是有些不精通
主要还是以 H5、PC/移动端响应式 为主
现在也是要改变了,专注一个方向

自己搞了一个小程序,功能还比较简单
Koa2+mysql

最后想说:换个工作真不容易啊,目前还在苦苦寻找
想进个大厂就这么难···有哪位好心人帮我内推?

github:有兴趣来个 star ?
https://github.com/QingshanLuoyue

自己的博客:有错误请指正,有建议请留言
https://www.cnblogs.com/linjunfu/

最最后······如果我说的有地图炮、引战的等等会被你们喷的一些地方······当我没说,谢谢

4705 次点击
所在节点    程序员
73 条回复
Ljf980
2019-07-15 10:46:55 +08:00
@bmy 厉害
Ljf980
2019-07-15 10:49:36 +08:00
@zhenizhui 单页改成多页,跳转之间使用 window.location.href。照你说的,按模块来拆分为一个一个项目,那就拆呗
zhengxiaowai
2019-07-15 11:00:45 +08:00
大厂不刷 leetcode 哪里有面试的勇气
Ljf980
2019-07-15 11:27:22 +08:00
@zhengxiaowai 前端 er 瑟瑟发抖。
一般说 2/8 定律,肯刷 leetcode 的,肯定有学习动力和深度,所以 2 里面肯定有一席之位了?
rabbitlbj
2019-07-15 13:04:28 +08:00
楼主的小程序上线了吗?没搜到
lamada
2019-07-15 13:41:05 +08:00
感谢 LZ 分享,感觉面试都好难,换工作要学很多
Ljf980
2019-07-15 14:08:27 +08:00
@rabbitlbj 小程序名称是《 SmartAcg 》
我上面发的那个小程序二维码图片链接失效了吗~~~
Ljf980
2019-07-15 14:08:44 +08:00
@lamada 共勉
aiden4
2019-07-15 14:39:27 +08:00
找找独角兽公司,我知道有一家是东南亚滴滴,在北京有研发中心,最近好像在招人
Bakarua
2019-07-15 14:50:07 +08:00
学到了,加油共勉
lixiangzaizheli
2019-07-15 15:00:58 +08:00
我也是个算法菜鸡
Yumwey
2019-07-15 15:09:23 +08:00
回文这题...不是大学作业吗..真的..不难,为啥一定要刷呢。我也是前端。
共勉吧。
没算法底子的话,可能你跟很多大厂的偏高一点 p 的职位基本无缘吧, 还是刷一刷比较好。
userdhf
2019-07-15 15:19:19 +08:00
跟楼主差不多吧,我年薪还不到 20.....公司好渣
Anshi
2019-07-15 15:21:21 +08:00
想去大厂还是得刷算法题的。。。
Ljf980
2019-07-15 15:44:34 +08:00
@aiden4 谢谢啦 ,还是想呆在深圳啊
Ljf980
2019-07-15 15:58:44 +08:00
@Yumwey 额。。。看了一些回复都说回文不难
1、首先想确定下,题目是求“ n 长度字符串中的最长回文子串”,和普通的求回文串不一样,你们理解的是否是我说的那道题
2、我虽然也是计算机出身,C/C++/Java 也都学了一点皮毛,但是算法确实是渣渣,毕业 4 年了都忘光了。上面说的什么马拉车、动态规划啥的不去网上查,概念都是懵的
3、然后呢你们说的一点都不难,我觉得算法要多练才能形成解决算法的思维和方法,对于我们这些平时只写前端业务,实现业务功能的人来说,很多算法解决方法需要技巧,一些不同的思路,这真的不是说说就能做的到的
4、比如“ n 长度字符串中的最长回文子串”这道题,我一点技巧不会,所以第一时间的解决方法就是暴力便利,一个个遍历去对比是否满足条件。这种解法肯定被鄙视了,但是你说我一个算法各种专业术语概念都没有的人,怎么用技巧解答呢?到最后还是得去刷题
5、再说一个例子:我还没工作前,完全没工作经验,面试经验为零,然后导师让我去找工作前,先练习如何面试。
你知道我是怎么做的?我网上找的面试演讲稿,拿来背诵,然后在导师面前坑坑洼洼的自我介绍~~~
但是实际上面试哪有这么正式?
这就是有经历和没有经历的区别~~~算法有做过有刷过和没刷过的区别

我想说没刷算法 /大学没好好学算法是我们的错
但是题难不难,做过了都会说不难~~~
Doraemontree
2019-07-15 16:05:11 +08:00
前端薪水确实可以啊。
Yumwey
2019-07-15 17:29:08 +08:00
@Ljf980 其实理解的就是你说的那道题。 但是说的在理,做过了都会说不难,但是有一点是,刷题的目的,是去熟悉算法中包含的技巧,毕竟大部分算法题,技巧几乎都是类似的,就和你学数学的时候,用公式一样。

说这话的目的是想说,面大厂前,还是至少抽出一周去刷算法,不区分前后端。

有时候临阵磨枪,还是很好用的, 虽然进来也是....拧螺丝,没完没了的业务。
ccpp132
2019-07-15 17:37:29 +08:00
这个题如果没做过真的有点难的。不太适合作为面试题。我觉得比 leetcode 上 hard 都难。属于做法独特,仅适用于这一道题,就是参加竞赛的在不知道的情况下也很难想出来。只是流传比较广而已
Hozart
2019-07-15 17:40:04 +08:00
大厂 30pkg 不到也就是应届生水平当然当应届生面试了...进来就是跟应届生一个职级,肯定冲着基础面试,还不想刷 leetcode...你这就是想要马儿跑又想马儿不吃草,总而言之「自我定位不清」。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/582776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX