V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ljf980
V2EX  ›  程序员

前端面经、吐个槽吧

  •  7
     
  •   Ljf980 · 2019-07-14 03:25:58 +08:00 · 4625 次点击
    这是一个创建于 1720 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从 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/

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

    73 条回复    2019-08-01 12:38:00 +08:00
    BreezeInWind
        1
    BreezeInWind  
       2019-07-14 03:37:00 +08:00 via Android
    这么晚了发这么多真是辛苦了,祝你顺利
    dartabe
        2
    dartabe  
       2019-07-14 04:03:39 +08:00
    leetcode 中级的话 如果 follow up 不多的话 我觉得多刷刷用不了多少时间就能掌握???
    KuroNekoFan
        3
    KuroNekoFan  
       2019-07-14 04:19:02 +08:00 via iPhone
    medium 不难,leetcode 不一定要成功 submission(bugfree 和时空复杂度要求挺难的),看看最优解也足够应付面试了

    话说最长子串这玩意好像经常见啊
    q397064399
        4
    q397064399  
       2019-07-14 06:47:46 +08:00 via iPhone
    算法题 真的是尴尬 不背题 基本上很难过
    chiu
        5
    chiu  
       2019-07-14 07:29:05 +08:00 via Android
    “最长回文子串”应该是想活跃下气氛。
    luopengfei14
        6
    luopengfei14  
       2019-07-14 08:09:16 +08:00 via iPhone
    看了楼主的经历,我更不后悔转到后端了
    lizz666
        7
    lizz666  
       2019-07-14 08:33:25 +08:00
    我也是算法菜鸡
    fe619742721
        8
    fe619742721  
       2019-07-14 09:14:42 +08:00 via iPhone
    可以尝试往管理方向找,
    算法题的话,提前准备点吧,你这属于拿工作经验出去硬刚,但是现在的大厂面试风格,算法题是少不了的,没辙,得认,其他的感觉都没啥大问题,中型厂可能会更容易,大厂不太需要你这种啥都接触过的部分全面的
    bmy
        9
    bmy  
       2019-07-14 09:19:31 +08:00
    试试外企 感觉会简单点
    我现在这个公司面试是叫我在家根据他们的系统做个东西 还是比较喜欢这种类型的测验
    wzdbsss
        10
    wzdbsss  
       2019-07-14 09:32:24 +08:00 via iPhone
    你列出来的这些技能,我基本都会,是不是可以转前端了啊。感觉前端是一个充满钞票的行业
    chuxiaonan
        11
    chuxiaonan  
       2019-07-14 10:07:27 +08:00
    目前在 LZ 所述某个大厂中,不曾听说社招还要有在线评测啊。。。
    LZ base 在哪里?在帝都的话,我可以帮你再推一下
    我们这边接受基础比较好的,而且如果愿意从 vue 转 react 我们也是不介意的
    Ljf980
        12
    Ljf980  
    OP
       2019-07-14 10:30:50 +08:00 via Android
    @bmy 外企有啥推荐的 英语有要求吗
    Ljf980
        13
    Ljf980  
    OP
       2019-07-14 10:32:40 +08:00 via Android
    @wzdbsss 会的话可以转前端啊!就是熟练和不熟练的问题!处理坑的速度差别!当然还要具备不断跟进新技术的学习能力
    Ljf980
        14
    Ljf980  
    OP
       2019-07-14 10:35:48 +08:00 via Android
    @chuxiaonan 目前在深圳。其实转技术栈完全没问题!毕竟技术是工具,是用来服务业务的!我本身对学习新东西不排斥。阿里那个确实让我在线测试,做代码笔试!投了很多阿里的!因为 react 和 node 没有突出点,很少能得到面试机会
    Ljf980
        15
    Ljf980  
    OP
       2019-07-14 10:37:37 +08:00 via Android
    @fe619742721 管理这个风格感觉不适合我吧…算法没办法只能是刷就一个字了
    fvckDaybyte2
        16
    fvckDaybyte2  
       2019-07-14 11:20:07 +08:00 via iPhone
    最长字符串居然是中级难度……当年入门编程,刚学一周老师就布置了这个作业。还有在一本书里找出出现频率前十的词组……
    ironMan1995
        17
    ironMan1995  
       2019-07-14 11:36:47 +08:00 via Android   ❤️ 1
    要学最好回家学,下班不走还呆公司,坑的就是正常下班的同事
    Ljf980
        18
    Ljf980  
    OP
       2019-07-14 11:58:54 +08:00
    @ironMan1995 哈哈哈,这个确实是,我记得这种行为被称之为“奋斗逼”····不是什么好词
    主要还是回家没有学习的氛围,学不下去,拿起手机就是玩到 12 点
    不过我们公司不鼓励加班,大部分人都有自己的时间安排
    Mrun
        19
    Mrun  
       2019-07-14 12:04:34 +08:00
    最长回文子字符串,就是马拉车算法吧
    VDimos
        20
    VDimos  
       2019-07-14 12:13:03 +08:00 via Android
    不会算法想进大厂的确难
    q8164305
        21
    q8164305  
       2019-07-14 12:31:42 +08:00 via Android
    楼主是 985,211 么?
    Ljf980
        22
    Ljf980  
    OP
       2019-07-14 12:58:50 +08:00
    @q8164305 不是····初步沟通的时候,有些 hr/面试官会问这个,可能是看我简历不突出,但是工作经验够了,如果加个 985/211 就能给个面试机会?
    Ljf980
        23
    Ljf980  
    OP
       2019-07-14 13:00:10 +08:00
    @Mrun 算法里好些专有名词····神马动态规划啦、马拉车啦、剪枝啦
    没接触过的表示大佬好厉害
    Linxing
        24
    Linxing  
       2019-07-14 18:34:28 +08:00
    回文子串不难吧 要来流利说不 base 上海 可内推
    zhenizhui
        25
    zhenizhui  
       2019-07-14 20:34:44 +08:00
    楼主,请教一下,你做的 vue 后台管理系统都是一个项目工程(整个 SPA )吗,有没有遇到那些管理系统要拆分好几个项目工程的?
    mumofa
        26
    mumofa  
       2019-07-14 21:34:03 +08:00
    和楼主的经理很相似
    我是今年 2 月开始准备跳槽的 大概 3 年经验吧 面到现在
    我人是在广州,一开始是打算去深圳发展,投的都是大厂,面得最多得的还是 tx 有两个部门也是进到最后一面挂了,估计也是不够突出,有点平庸吧。。。
    最后还是窝在广州。。。 看看明年能不能再战吧,楼主加油
    xianxiaobo
        27
    xianxiaobo  
       2019-07-15 09:13:39 +08:00
    感谢分享
    bmy
        28
    bmy  
       2019-07-15 09:14:57 +08:00
    @Ljf980 我也是在 V2EX 找的 英语会有要求的 不同公司要求不一样 很多都是能回邮件就行
    wujie396
        29
    wujie396  
       2019-07-15 09:20:17 +08:00
    跟楼主类似。。。
    不过还好我在北京,工作机会多一些。。。
    中小厂建议不要去。我现在被套在一个曾经的中厂,来了 10 个月,拖欠半年工资。。。
    Ljf980
        30
    Ljf980  
    OP
       2019-07-15 09:35:16 +08:00
    @zhenizhui 目前是一整个 SPA,拆分的话也不难吧,把依赖包作为公共资源,然后设置多个入口。其实就是单页转多页,需要手动配置了。
    Ljf980
        31
    Ljf980  
    OP
       2019-07-15 09:35:58 +08:00
    @mumofa 算法刷一刷,我觉得能应付大多数原因了,大厂就是看中基础
    Ljf980
        32
    Ljf980  
    OP
       2019-07-15 09:37:09 +08:00
    @bmy 我面过 thoughtworks,挂了····
    Ljf980
        33
    Ljf980  
    OP
       2019-07-15 09:38:06 +08:00
    @Linxing 非常感谢🙏,不过我还是深圳呆习惯了
    yuanfnadi
        34
    yuanfnadi  
       2019-07-15 09:40:00 +08:00
    @Ljf980 还有一些问题需要解决。例如菜单如何渲染,多项目如何共享登录 /权限状态。
    Ljf980
        35
    Ljf980  
    OP
       2019-07-15 09:40:17 +08:00
    @wujie396 这么坑!!!我主要目标也是大厂,不过很多大厂刷了一遍,除非内推,不然现在都不能再面了。现在只能是看 tx 了!准备把算法补补,再战
    Ljf980
        36
    Ljf980  
    OP
       2019-07-15 09:42:12 +08:00
    @yuanfnadi 共享状态可以把 vuex 提取出来,或者搞一个 eventbus,然后每个子项目都引入就可以的
    wujie396
        37
    wujie396  
       2019-07-15 09:51:37 +08:00
    @Ljf980 顺便提一下,楼主你博客里 new 的模拟实现还不太完善。实例化过程中还会根据构造函数的返回值是否为对象,来返回构造函数返回的对象,还是自己模拟创建的对象,jquery 原理的实现就用到这方面的知识。
    这里推荐阿里冴羽大神的博客。共勉
    https://github.com/mqyqingfeng/Blog/issues/13
    zhenizhui
        38
    zhenizhui  
       2019-07-15 09:58:20 +08:00
    @Ljf980 #30 那如果是要拆成多个项目呢,按照模块来拆分为一个一个项目,然后最终部署可以弄成单个 SPA 或者多个 SPA,有点无从下手的感觉
    bmy
        39
    bmy  
       2019-07-15 10:39:16 +08:00
    @Ljf980 我第一家公司就在 thoughtworks:D
    Ljf980
        40
    Ljf980  
    OP
       2019-07-15 10:44:11 +08:00
    @wujie396 确实不完善,非常感谢提出指正,我修改下下~~~
    Ljf980
        41
    Ljf980  
    OP
       2019-07-15 10:46:55 +08:00
    @bmy 厉害
    Ljf980
        42
    Ljf980  
    OP
       2019-07-15 10:49:36 +08:00
    @zhenizhui 单页改成多页,跳转之间使用 window.location.href。照你说的,按模块来拆分为一个一个项目,那就拆呗
    zhengxiaowai
        43
    zhengxiaowai  
       2019-07-15 11:00:45 +08:00
    大厂不刷 leetcode 哪里有面试的勇气
    Ljf980
        44
    Ljf980  
    OP
       2019-07-15 11:27:22 +08:00
    @zhengxiaowai 前端 er 瑟瑟发抖。
    一般说 2/8 定律,肯刷 leetcode 的,肯定有学习动力和深度,所以 2 里面肯定有一席之位了?
    rabbitlbj
        45
    rabbitlbj  
       2019-07-15 13:04:28 +08:00 via Android
    楼主的小程序上线了吗?没搜到
    lamada
        46
    lamada  
       2019-07-15 13:41:05 +08:00
    感谢 LZ 分享,感觉面试都好难,换工作要学很多
    Ljf980
        47
    Ljf980  
    OP
       2019-07-15 14:08:27 +08:00
    @rabbitlbj 小程序名称是《 SmartAcg 》
    我上面发的那个小程序二维码图片链接失效了吗~~~
    Ljf980
        48
    Ljf980  
    OP
       2019-07-15 14:08:44 +08:00
    @lamada 共勉
    aiden4
        49
    aiden4  
       2019-07-15 14:39:27 +08:00
    找找独角兽公司,我知道有一家是东南亚滴滴,在北京有研发中心,最近好像在招人
    Bakarua
        50
    Bakarua  
       2019-07-15 14:50:07 +08:00
    学到了,加油共勉
    lixiangzaizheli
        51
    lixiangzaizheli  
       2019-07-15 15:00:58 +08:00
    我也是个算法菜鸡
    Yumwey
        52
    Yumwey  
       2019-07-15 15:09:23 +08:00
    回文这题...不是大学作业吗..真的..不难,为啥一定要刷呢。我也是前端。
    共勉吧。
    没算法底子的话,可能你跟很多大厂的偏高一点 p 的职位基本无缘吧, 还是刷一刷比较好。
    userdhf
        53
    userdhf  
       2019-07-15 15:19:19 +08:00
    跟楼主差不多吧,我年薪还不到 20.....公司好渣
    Anshi
        54
    Anshi  
       2019-07-15 15:21:21 +08:00
    想去大厂还是得刷算法题的。。。
    Ljf980
        55
    Ljf980  
    OP
       2019-07-15 15:44:34 +08:00
    @aiden4 谢谢啦 ,还是想呆在深圳啊
    Ljf980
        56
    Ljf980  
    OP
       2019-07-15 15:58:44 +08:00
    @Yumwey 额。。。看了一些回复都说回文不难
    1、首先想确定下,题目是求“ n 长度字符串中的最长回文子串”,和普通的求回文串不一样,你们理解的是否是我说的那道题
    2、我虽然也是计算机出身,C/C++/Java 也都学了一点皮毛,但是算法确实是渣渣,毕业 4 年了都忘光了。上面说的什么马拉车、动态规划啥的不去网上查,概念都是懵的
    3、然后呢你们说的一点都不难,我觉得算法要多练才能形成解决算法的思维和方法,对于我们这些平时只写前端业务,实现业务功能的人来说,很多算法解决方法需要技巧,一些不同的思路,这真的不是说说就能做的到的
    4、比如“ n 长度字符串中的最长回文子串”这道题,我一点技巧不会,所以第一时间的解决方法就是暴力便利,一个个遍历去对比是否满足条件。这种解法肯定被鄙视了,但是你说我一个算法各种专业术语概念都没有的人,怎么用技巧解答呢?到最后还是得去刷题
    5、再说一个例子:我还没工作前,完全没工作经验,面试经验为零,然后导师让我去找工作前,先练习如何面试。
    你知道我是怎么做的?我网上找的面试演讲稿,拿来背诵,然后在导师面前坑坑洼洼的自我介绍~~~
    但是实际上面试哪有这么正式?
    这就是有经历和没有经历的区别~~~算法有做过有刷过和没刷过的区别

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

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

    有时候临阵磨枪,还是很好用的, 虽然进来也是....拧螺丝,没完没了的业务。
    ccpp132
        59
    ccpp132  
       2019-07-15 17:37:29 +08:00 via Android
    这个题如果没做过真的有点难的。不太适合作为面试题。我觉得比 leetcode 上 hard 都难。属于做法独特,仅适用于这一道题,就是参加竞赛的在不知道的情况下也很难想出来。只是流传比较广而已
    Hozart
        60
    Hozart  
       2019-07-15 17:40:04 +08:00
    大厂 30pkg 不到也就是应届生水平当然当应届生面试了...进来就是跟应届生一个职级,肯定冲着基础面试,还不想刷 leetcode...你这就是想要马儿跑又想马儿不吃草,总而言之「自我定位不清」。
    Ljf980
        61
    Ljf980  
    OP
       2019-07-15 18:58:39 +08:00
    @Hozart 大厂也分部门,不是所有都会以算法为准。只有面的是业务偏向算法的才会这样评价。
    我面过上面那么多大厂,比如新浪、tx 有些都是能进的,只不过是因为一些其他原因没过,比如自己作死口嗨、学习深度不够,薪资要的高等原因。所以你说的基础面试?刷 leetcode 真不是主要原因

    算法是我上面所列出的理由的一部分,只不过如果候选人算法好的话是一个很大很大很大的加分项
    「自我定位不清」这个我真的不能苟同

    那个不到 30 pkg 就是应届生水平~~~果然是我井底之蛙了
    yutou527
        62
    yutou527  
       2019-07-15 19:04:16 +08:00
    去腾讯的话
    "最长回文子串"这种 我觉得应该属于热身水平吧?
    没勇气去试🤢
    Ljf980
        63
    Ljf980  
    OP
       2019-07-15 19:09:25 +08:00
    @yutou527 这种常见算法题,出现频率高的,对于那些刷了很多算法题的人来说,应该确实算热身了。
    对于我等算法渣渣,那就是硬钢,遍历就对了,然后被鄙视
    Hozart
        64
    Hozart  
       2019-07-15 19:42:39 +08:00
    @Ljf980
    1. 关于薪资问题,可能你 base 比较高吧,大厂月数比较多,月薪不算很高,算总包可能会涨,算 base 甚至可能会降。
    2. 关于自我定位我不清问题,去年 bat 应届基本有 25w+,稍微发挥好一些就奔着 30 去了,但是从文中看来你还算是一个 tech leader/组内架构,但你的薪资只能和应届 match,所以存在一个落差,并不是说你职业路径规划有问题,而是说你面的岗和你当前对自己的定位不 match 的问题,拿应届的包裹就老实按着应届的方法论走就完事儿了,万丈高楼平地起,不要用「前端工程师」这个 title 替自己挡枪。
    3. 关于所谓的「业务偏向算法」,业务永远是业务,「面试中的数据结构 or 算法」真的只是「面试中」才有最大的用处,哪有这么多业务让你天天研究怎么优化使用的数据结构和算法的,大家都是刷出来的,而算法也成了现在筛人的一道坎,不要畏惧它,想要跳槽就肯定得拥抱它。
    4. 总而言之,我认为你对当前的求职环境算不上又一个很清晰的认识。
    5. 略显好为人师了,如果让你感到 offensive 不好意思。
    Ljf980
        65
    Ljf980  
    OP
       2019-07-15 21:44:30 +08:00
    @Hozart 能回复这么多,很感谢了,本来发帖也是希望与人交流,得到指点
    1. 薪资和应届生 30pkg 的问题。这个确实,我记得大厂应届生很多都说 13k 都是白菜价,所以 16 以上或者 20k 加上 16 薪的加成确实可以超过 30pkg 了。这点我无话可说,20 对于厉害的 /又是应届生这种潜力股的人,尤其在搞技术这一行业在一定时期内凭实力说话的阶段,确实不是没可能
    2. 自我定位的问题。关于这段时间面试大厂,一般我投的都是中高级岗位,应该算是符合我的定位吧。或者说大厂职位上挂着高级,但是面试时候是看人下菜。或者 30pkg 考算法,超过的不考算法,谈实践?所以我觉得面试这个真的看面试官了,我面这么多个大厂面试官,只有部分会出算法题。有些只会出业务代码题,比如去重,写个函数控制并发请求等等,这部分代码题考的才有意义,我觉得。当然面试官出什么题应该和部门氛围有关,就比如我说的 QQ 系的,因为好多 C++出身的,爱好出算法的概率大,根据我的面试经验来看确实是这样(或者说 TEG 的,我去面 IEG 就直接聊项目)~~~
    3. 业务偏向算法问题。我上面也说了,真的有这个倾向,比如 TEG 部门。毕竟是 tx 的技术支撑,不考你算法就怪了?我去面这些带有技术倾向的部门,自己不刷算法确实是我自己太天真,并且得到惨痛教训了。
    你说没有这么多业务去研究数据结构和算法,但是不妨碍他们的这种文化啊
    算法确实是刷出来的,我没去刷算法然后被大厂刷下来是我不足,我也明白要去弥补,这个是必须的。
    你说的“拿应届的包裹就老实按着应届的方法论走就完事儿了,万丈高楼平地起”、“而算法也成了现在筛人的一道坎,不要畏惧它,想要跳槽就肯定得拥抱它”我很认同,这话说的干脆。搞技术的就是要直接一点,哪里不足补哪里
    4、求职环境这个。像上面有位大哥说的,我纯粹是拿着工作经验去硬钢~~~ 其实我最初抱着的想法就是技术偏向的部门如果算法能过,那就万事大吉;不行的话还有其他业务导向部门,也许我能用工作经验加上项目经验来赢得面试官的青睐呢?事实上我确实是有机会的,只不过因为一些除了算法之外,我上面说的原因而导致最终失败。

    算法是一个大家比较聊得多的,普遍认为能证明自己实力,并且会了大概率让人能显得比其他人厉害的一个能力
    我在上面的分享中说了算法只是其中之一的理由,我觉得大厂不可能用算法来卡所有人。每个人都有自己的闪光点。
    will0404
        66
    will0404  
       2019-07-16 09:57:07 +08:00 via Android
    一点个人看法。

    回文字串这种题,考的是思考问题的思路,没有什么特定算法,觉得难的话平时是不是把时间都花在 webpack 怎么配置上了?或者各种框架和库的使用?(逃

    至于这个题,首先想想回文的特点,中间奇数个或者 0 个相同字符,两边对称相同的字符一定是偶数个,那么最长的字串就是所有偶数字符长度加最长的奇数字符。

    个人认为两三句话能够描述清楚解法的题都不能叫难,前端开发实际上平时也有大把的机会接触算法的实践,主要看你有没有这个意识了。学习框架也不是件简单的事,但你把 react,vue,angular 都学会了,用熟了,那是软实力;计算机基础,数据结构和算法是硬实力。前者足够让你升值加薪,但天花板低,后者则短期看不到太大收益,
    will0404
        67
    will0404  
       2019-07-16 09:58:24 +08:00 via Android
    但能让你走的更远
    Ljf980
        68
    Ljf980  
    OP
       2019-07-16 10:53:58 +08:00
    @will0404 确实考的是思路问题

    我觉得回文字串这种题难,确实是我平时基本不看算法,我上面很多回复都说了。毕竟工作经验才 3 年多,不算长,以学习框架和源码为主,毕竟升职加薪快[手动狗头]。当然到了这个工作年限,所以开始考虑进阶了,也就是你说的硬实力。

    你说的这个“至于这个题,首先想想回文的特点,中间奇数个或者 0 个相同字符,两边对称相同的字符一定是偶数个,那么最长的字串就是所有偶数字符长度加最长的奇数字符。”我当时也确实是这么想的,然后使用了暴力遍历来做的,不是使用技巧。然而面试官想要的并不是这个。

    前端开发有机会遇到算法实践的,这个其实就看你遇到业务有没有了。如果有主动意识,就算平时业务没有算法实践场景,也能网上搜到然后自己去学习。

    总之只要有主动性,不管是算法或者其他领域(普通人接触领域),都不是难事。

    还想说下,算法这东西刷刷刷,一般做多了就能形成解决思路,所以说不难啥的其实都是有《先决条件》的。
    但是对于一个没接触过的人来说,那就不能勉强了吧
    就像前端写 css 很溜吧,后端就觉得是个坑,好难。
    写这么一大段其实就是想辩驳一下对于没搞过算法的人来说,真的难。又感觉越说越无力,好没底气(没搞过那怪谁)

    目前也是开始刷 leetcode 了,感谢你的祝福

    最后,我个人挺喜欢辩论(疑似自己是个 gangjing ~~~),没有恶意。
    看上面回复了很多人,说了很多感觉是为自己找借口的话,有觉得我孺子不可教也的,对不起了哈
    will0404
        69
    will0404  
       2019-07-16 11:24:05 +08:00
    @Ljf980 这个解法已经是 O(n)了,是最快的解法,这不叫暴力遍历。面试管要的不是这个答案?也许他在考你空间复杂度最低的解法呢?

    我也是前端,我也在刷 leetcode,目前只刷了 40 题左右。刷题过程中我最大的感触是,题都不难,都能做出来。有时候看了别人的解法以后,才知道原来这样的解法叫“ xxx 算法”。也许是我们理解的“难”不一样,我也会遇到没有思路的时候,这时候我就放下它,去做别的事,过一会再回来重新审题,换个角度去思考,所以有时候一个 hard 题能解几天。可是慢慢的解题速度就越来越快了。
    不把学习当作应试的目的去学,会轻松一些。共勉。
    zhwithsweet
        70
    zhwithsweet  
       2019-07-16 12:03:35 +08:00
    面试肯定要刷题了。
    Ljf980
        71
    Ljf980  
    OP
       2019-07-16 14:08:13 +08:00
    @will0404 共勉共勉
    jmyz0455
        72
    jmyz0455  
       2019-07-16 15:49:41 +08:00
    我也快三年了,也是广州,看见楼主的经历,有点焦虑,请问你是 985/211 吗?
    Ljf980
        73
    Ljf980  
    OP
       2019-08-01 12:38:00 +08:00
    @jmyz0455 不是,普通二本。选择一个方向专心研究源码,多积累自己的知识,比如博客,github。这样大厂并不难进
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4933 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 01:12 · PVG 09:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.