V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
SouUED
V2EX  ›  程序员

大三程序员的一点困惑,求前辈们解答(非技术)

  •  
  •   SouUED · 2014-03-16 16:53:35 +08:00 · 7112 次点击
    这是一个创建于 3938 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近不知道怎么的,觉得越来越不适应这个圈子了。
    我记得我刚上大学那会,是多么的喜欢做前端,甚至可以通宵不吃饭的研究各类前端的问题,无比的憧憬以后能找一个优秀的团队然后大家一起开心的做东西,攻克各种技术难关,真的,刚学的时候,每解决一个问题都觉得是非常开心的事情。
    也就是在大三的开学的时候很偶然的机会投了一直以来很向往的某公司的校招,很意外的面到了最后,然后发现自己有很多不足,这半年来一直在很努力的学习,也坚定自己以后要走这条道路。
    放寒假的时候,找到了一份实习,在北京,实习的时候的确学到很多东西,了解很多自己以前没有了解到得知识,但是没有以前那么开心了,我突然发现自己已经变成了一种解决问题的工具,以前没有刚学习的时候那种激情了,实习的期间给我最大的感觉就是每天8小时不停不停的研究问题,写代码。每天都这样,我有时候不禁就想,每天8小时不停不停的研究,呆上二,三年是个人都能把前端大部分技术难题都攻克吧?那么自己在大学每天研究放弃各种活动换来的就是工作的时候不停的重复劳动?
    最近参加了二场实习生面试,都是同一公司,只是不同部门,一直以来非常向往的公司,大一的时候目标很明确的,不过面了过后我发现自己其实没有那么渴望了。
    第二场面试的面试官其实是我非常崇拜的一个前端界的大牛,我不知道自己到底回答的怎么样,反正我个人觉得他有点失望的样子。他问得有些问题都是我很少关注的,其实参加每场面试,特别对我来说我都认为是一种成长,下去会把面试官的问题自己会去弄懂搞清楚,但是这一次突然没有了那种冲动了,是因为被自己崇拜的人否定掉的缘故?
    自己其实也没有想太多,也只是来吐槽下,现在周围能跟自己交流的人很少了(PS:可能因为是从小是孤儿的原因,看问题的方法不同),最近出现的情绪波动每年都会有,只是今年特别严重而已,不知道现在真正的互联网公司的环境是什么样的,难道就跟我实习期间的公司是一样的?我只是想毕业后找个好点的公司好点的团队安安静静研究自己感兴趣的技术,突然发现这个目标在如此浮躁的环境下居然是如此困难。每场面试我都感觉我是在跟不知道多少人竞争,多少人为了这个岗位争得头破血流,我讨厌这种氛围。
    其实我就是最近发现面试官问的问题自己都无法适应,问得问题给我感觉就是平时自己根本用不到,但是面试的时候你必须得知道,因为面试官要问,答不出来就GG了,造成了我现在的感受是我是为了通过面试才去学的这些知识,而不是像当初一样对于技术的狂热追求而去学习,我一直认为我学技术是为了解决实际问题(遇见不懂得就去学习,但是不想为了通过面试去学习),所以才有了现在不想去搞懂面试官问得问题的想法,不知道我这样的想法是不是错了,有没有哪位大牛在刚踏入这个圈子的时候有这样的感受的?或者大家有想法能交流的。。。。
    47 条回复    1970-01-01 08:00:00 +08:00
    slixurd
        1
    slixurd  
       2014-03-16 17:28:25 +08:00
    略有同感
    很多可以查文档的东西却需要像背书一样背下来
    senghoo
        2
    senghoo  
       2014-03-16 17:34:01 +08:00   ❤️ 1
    不知道前端的面试是啥样的。
    写后端的一般面试的时候是拿出自己曾经的产品两个人在交流问题的看法和解决思路,比较注重思考能力。除了面刚毕业的学生以外很少问技术细节。但是我感觉前端的面试应该也差不多。

    还有。当你觉得所有的工作成为重复劳动的时候是你该提升level的时候了。提升了level一切看问题的角度会发生变化成了一个崭新的世界。


    PS:个人愚见,楼下轻喷。
    kyze8439690
        3
    kyze8439690  
       2014-03-16 17:34:23 +08:00 via Android   ❤️ 1
    主要看做的东西是不是自己想做的东西吧
    RIcter
        4
    RIcter  
       2014-03-16 19:01:23 +08:00   ❤️ 1
    完全没透露是哪个公司啊窝还以为乃要吐槽一下某大神..
    不过乃大神身上offer多了去了...

    @slixurd
    @senghoo
    @kyze8439690 PS:这是窝前辈炒鸡厉害的:P
    Alex_L
        5
    Alex_L  
       2014-03-16 19:15:53 +08:00 via iPhone   ❤️ 1
    不用把面试官的问题看那么重要。等你以后进入这个行业,开始面学生的时候,你也会随便问一些实际用不到的基础知识。除非你从小编程,你在大学四年再怎么折腾那点代码和项目经验根本就不够看。项目代码都没什么亮点,要么你很聪明学东西很快有潜力,要么就指望你理论基础好一些。
    Keinez
        6
    Keinez  
       2014-03-16 19:18:11 +08:00
    好好玩github吧。
    ijse
        7
    ijse  
       2014-03-16 19:24:43 +08:00
    面试的时候,可以试着多说些自己擅长的东西,找机会表现。

    其实面试本就应该是两个人聊,而不是问答

    也不是所有面试官都一定不会漏掉人才
    Tinet
        8
    Tinet  
       2014-03-16 19:28:22 +08:00   ❤️ 1
    感觉楼主压力很大一样,既然不能让外界来适应你,那么就自己去适应环境吧
    nsa
        9
    nsa  
       2014-03-16 20:42:33 +08:00   ❤️ 1
    楼主压力很大,自己放两个月假好了。。。
    iwege
        10
    iwege  
       2014-03-16 22:00:23 +08:00   ❤️ 1
    能具体举例讲讲什么叫做实际用不到的知识么?我很好奇这个。
    hustlzp
        11
    hustlzp  
       2014-03-16 22:27:13 +08:00   ❤️ 1
    除了技术本身带来的成就感之外,你做的产品是不是你喜欢的,是不是能够真正为他人带来快乐,这也是不容忽视的成就感来源。
    mantianyu
        12
    mantianyu  
       2014-03-16 23:09:45 +08:00 via iPad   ❤️ 1
    我觉得你适合去创业型公司,有激情活力,能做自己喜欢的东西,而不是在大公司那样束手束脚
    SouUED
        13
    SouUED  
    OP
       2014-03-16 23:19:00 +08:00
    @iwege 比如说我今天面试的第二个问题,请解释下var a = 1,js是如何去实现这个过程的。。。。。我不知道是不是理解错了什么,但是我认为这个对我来说没什么用。。
    chairuosen
        14
    chairuosen  
       2014-03-16 23:26:26 +08:00
    @SouUED 他可能想问你的是先声明再赋值,var a;会提到作用域最上头那
    SouUED
        15
    SouUED  
    OP
       2014-03-16 23:28:26 +08:00
    @chairuosen 我这样解释了,可惜不是这样的。。。
    Numbcoder
        16
    Numbcoder  
       2014-03-16 23:37:44 +08:00
    @SouUED 对于面试应届生能提出 var a = 1 这种问题,可见这个面试官面试水平是有多差,或者是装B,lz不要太在意。
    FrankFang128
        17
    FrankFang128  
       2014-03-16 23:46:14 +08:00
    @SouUED 他说是什么?
    FrankFang128
        18
    FrankFang128  
       2014-03-16 23:49:43 +08:00
    @SouUED

    我猜测面试官想知道你对 JS 的解析过程是否熟悉。
    JS 解释器首先会扫描当前作用域里所有的声明(即 var a = 1 的前半部分 "var a"),把这些声明作为 active object 的属性,然后开始从头解析当前作用域里的代码。


    var a = 'global variable'

    function foo(){
    console.log('a in foo: '+ a) // 输出什么?
    a = 1
    var a // 试试注销这一行再试一试
    }

    foo()
    console.log('a outside foo: '+ a) // 输出什么?

    这就是声明提升(hoist),也涉及到 JS 的块级作用域。这是 JS 的两个很重要的特征,很多初学者在不明白这些特性时极易写出 Bug。

    我觉得支持面试官提问的措辞不太对,没有把你引向正确的大题方向。题目本身还是一个好题。
    FrankFang128
        19
    FrankFang128  
       2014-03-16 23:50:10 +08:00
    错别字:『我觉得只是面试官提问的措辞不太对』
    FrankFang128
        20
    FrankFang128  
       2014-03-16 23:51:34 +08:00
    试试注销这一行再试一试。 「注销」改为「注释」,我双拼没学好,打错率好高 |||
    dorentus
        21
    dorentus  
       2014-03-17 00:02:31 +08:00
    这面试官的思维好奇怪……

    什么叫「JS 是如何去实现这个过程的」……不同版本的解释器,自然是爱怎么实现就怎么实现呗;另外他也没说他问的是哪个层面的实现细节;当然最重要的,就如楼主所说,知道这个有什么意义……就算我要去自己写个 js 解释器,也并不是一定要去看别人是怎么实现的啊……
    RIcter
        22
    RIcter  
       2014-03-17 00:52:47 +08:00
    @Numbcoder 面试官的名字说出来会让乃吃惊的。。。真的。。
    chemzqm
        23
    chemzqm  
       2014-03-17 00:54:11 +08:00
    1. 程序是一种工具,工具的目的是为人服务,人是工具的主人而不是奴隶。
    2. 某些前端面试官压根不懂如何面试,他们会问一些特无聊坑来装装优越感,即便经验很丰富的前端也未必知道
    3. 要说浮躁,我想不止互联网公司吧,谁让社会流行丛林法则呢。
    4. 你就算每天24小时研究,也最多只可能解决前端的一小部分问题,而且大部分早就是别人解决过,而你只能给出一个很搓的解决方案。不知道你上不上github、stackoverflow、caniuse、mdn这些网站。
    5. 编程不只是写几行代码解决问题,还包括需求沟通,权衡简单性、性能、用户体验、扩展性等等诸多方面做出合理的设计,前后端的接口设计,文档,必要的测试,熟练使用各种工具等等。
    Numbcoder
        24
    Numbcoder  
       2014-03-17 01:05:46 +08:00
    @RIcter 呵呵,就算是马化腾,马云,我也不会吃惊。大牛我见多得是。
    我现在只是就事论事,对于一个大三的学生,上来就问这种没啥太大意义的问题,我只能认为是面试水平有问题。
    面试是为了考察应聘者的实际能力,不是为了彰显面试官多牛逼!
    RIcter
        25
    RIcter  
       2014-03-17 01:09:52 +08:00
    @Numbcoder 喵(ry
    kevinzhow
        26
    kevinzhow  
       2014-03-17 01:26:36 +08:00   ❤️ 2
    大一实习过之后,非常讨厌每天集中去一个地方,做什么所谓的工作。
    周而复始,毫无意义。
    能用自己的生命去做自己认同的事情,才是最好的。
    SouUED
        27
    SouUED  
    OP
       2014-03-17 01:30:25 +08:00 via Android
    @chemzqm 这些还是要上的
    SouUED
        28
    SouUED  
    OP
       2014-03-17 01:34:54 +08:00 via Android
    @FrankFang128 就是差不多这个意思 我一看代码知道输出什么…只是面试官当时问的是实现过程 后来解释是想考作用域方面的知识 他的解释其实我还不是很理解 不知道是不是你举例这样
    flynngao
        29
    flynngao  
       2014-03-17 01:52:27 +08:00
    哪个前端大牛
    AntiGameZ
        30
    AntiGameZ  
       2014-03-17 03:29:08 +08:00
    每天都这样,我有时候不禁就想,每天8小时不停不停的研究,呆上二,三年是个人都能把前端大部分技术难题都攻克吧?那么自己在大学每天研究放弃各种活动换来的就是工作的时候不停的重复劳动?
    ----------------

    计算机就是帮人处理枯燥的重复劳动吧?Framework,Toolchain,等等都是为了解决无谓的重复劳动而来的。
    vilic
        31
    vilic  
       2014-03-17 04:28:47 +08:00
    说不定面试官只是觉得基础的你都答得很好,想看看你的深度呢?自信一点啦。不卑不亢的自我定位很重要。
    iwege
        32
    iwege  
       2014-03-17 08:03:48 +08:00
    @SouUED
    1. 你是软工的,感觉上应该多多少少能知道点C++的东西。
    2. 假设公司恰巧两个team,一个面向浏览器层,一个面向应用层。

    基于这两个条件的话,我觉得他提的是一个很开放题目,根据你的回答可以帮他认识你目前的水平。


    回答作用域会认为你会用js,如果你表述清晰,逻辑清楚。
    回答JS解释器如何实现,会认为你你的潜力非常不错,可以考虑去浏览器层team。

    当然如果上述两个条件都不成立,至少他应该要追问一次,按照 @FrankFang128 说的那样把题目解释清楚以确保能确认你的应用层面如何。
    henices
        33
    henices  
       2014-03-17 09:26:27 +08:00
    @SouUED

    看你写了很多,也说了一些问题,说说我的看法,供参考。

    1. 兴趣是最好的老师

    如果你对目前或者将来要从事的工作没有兴趣,建议你转到你感兴趣的方向。研究问题本身就是很快乐的,解决问题后的快感很容易就把长时间的郁闷给冲散了。我实习的时候我的导师和我说了一句话非常受用,现在也送给你,他说 “快乐是短暂的,痛苦是永恒的”,虽然也点夸张,但是非常的实在。

    2. 关于基础的问题

    这其实是老生长谈了,换个比较俗的说法,就是技术和技巧的问题。学习是要有计划和方法的,并不是能解决几个问题,技术就很nb了,很可能只是学会了几个技巧而已。应该循序渐进地把自己的基础给打扎实了,HTTP协议,javascript,css 等等。基础扎实了也能走的更远。

    3. 关于面试的问题

    面试是一个双向选择,所以千万不要抱怨。面试管问的问题都是他关心的领域,很可能和你将要从事的实习或者工作是密切相关的。你应该从里面的问题里面看到趋势和关注点,把这些知识和技术学到手对你以后的非常有帮助的。(并不是具体问题)其次商业公司并不是实习基地,很多时候需要的是进来就能干活的人。再次,面试一定要和面试官多交流,这样学的会更多,而不是强烈的逆反思想。

    4. 关于性格问题

    这个我能帮你的就不多了,放开点就好了。多交几个知心朋友。
    SouUED
        34
    SouUED  
    OP
       2014-03-17 09:54:59 +08:00
    @henices 其实这些道理都懂,只是突然觉得这次面试让我有点麻木了,也没有抱怨面试官的意思,就是突然感觉这这样下去感觉不出来做前端的乐趣了,最重要的是造成了我现在的感受是我是为了通过面试才去学的这些知识,而不是像当初一样对于技术的狂热追求而去学习
    sammo
        35
    sammo  
       2014-03-17 10:00:41 +08:00
    抬头张望的人体会不到低头做事的快感罢了;如果喜欢低头做事,可以去面试一些“唯作品论”的职位
    henices
        36
    henices  
       2014-03-17 10:13:24 +08:00
    @SouUED 你可以把它看成是一个导向,有点像政治书里的市场选择。我上学的时候Java特别热,同学都学Java,而我一直到现在都还是c/c++。

    还是那句话,兴趣是最好的老师。
    yjoogle
        37
    yjoogle  
       2014-03-17 10:20:19 +08:00
    公司需要盈利,所以做业务相关的工作也是必然的。好一点的程序猿不是为了解决问题而解决问题,更多的是能够在解决问题后能够提出思考:怎么避免,优化,不断的总结和分享。我相信个人的技术偏好或者爱钻研技术并不和工作冲突,反而是相辅相成的。
    lemonlwz
        38
    lemonlwz  
       2014-03-17 10:21:20 +08:00   ❤️ 1
    @SouUED
    工作和爱好本质上是矛盾的, 大多公司是不愿意你花过多的时间都做自己喜欢的问题.
    更多的是希望你解决问题及提高效率.端正一下心态,保持不温不火的热情,继续你爱的行业.
    simpx
        39
    simpx  
       2014-03-17 10:21:23 +08:00
    @SouUED 我个人觉得,面试问题和高考题一样,只是为了尽可能有效的筛选出人才来。面试需要的知识,工作后大多是用不到的,但是没有更好的办法可以短时间内区分两个人的水平。我觉得楼主不应该太排斥为了面试而学些生僻知识。
    Sherlockhlt
        40
    Sherlockhlt  
       2014-03-17 11:12:27 +08:00
    面试是面试,技术是技术,先把这两种区分开,混在一起会吃亏的
    kamwing
        41
    kamwing  
       2014-03-17 11:35:01 +08:00
    @SouUED
    建议提问的格式像@henices的回答那样段落区分一下,别人看起来会比较舒服哦。
    hustlzp
        42
    hustlzp  
       2014-03-17 11:49:42 +08:00
    @Sherlockhlt 混在一起也容易对自己造成错误的判断 :)
    SouUED
        43
    SouUED  
    OP
       2014-03-17 12:02:18 +08:00 via Android
    @hustlzp
    @kamwing 下次一定注意
    a15819620038
        44
    a15819620038  
       2014-03-17 13:20:29 +08:00 via Android
    @lemonlwz 刚好说到点上了
    cdffh
        45
    cdffh  
       2014-03-17 15:22:25 +08:00   ❤️ 1
    其实技术只是工具,关键是你想做什么.如果只是写代码,技术本身会很容易让人厌倦的.因为你会发现你陷入了发现问题,搜索问题,解决问题的死循环.但是我认为写代码的技术不只是技术,而是一种艺术,如何让你的代码更优美,更高效,以至于如何在代码中形成你自己的哲学,和倾注你自己的思想.这些都是极为有挑战和有意思的一件事情. 最后 楼主加油,人都会有迷茫,坚持和热爱,不要忘记了自己为什么出发.
    sampeng
        46
    sampeng  
       2014-03-17 22:22:35 +08:00
    前端面试,其实很多题目吧。先不排除有些面试官为了秀高端。但是,我个人相信大多数面试官都是有的放矢的。大多数题是自己在项目过程中碰到问题,因为一些原理分析而解决了疑难问题。像楼主提的这个题目,我也觉得是个非常棒的题。看你怎么描述。如果是说不知道。GG没话说。如果你说了,就关键看你怎么理解。千万别表现出你对题目的不屑。。换成你么,你想个题目,很好,被人鄙视了。。换个人都会不爽。换句话说,楼主经验问题,导致你无法站在面试官的角度看问题。升级后就好了。。

    大学失去的那些时间,在以后会有回报的。不是提现在你面试过程中。计较得失,活得很累的。尤其是程序员。。。。相信大家都会有,我擦,我这么牛逼,给我这么点工资的感觉吧。。一样的道理。活在当下,所有的未来都是现在一步一步获得的。当年,我大学各种玩,也不去啥活动。就在寝室自己玩自己的。。学点感兴趣的事。刚毕业的时候不觉得有什么用。。现在嘛,真不后悔那个时候做的那些事。。就算是好玩的时候看的市场营销和心理学的书,现在和产品和销售沟通,全靠那点货了


    楼主看得出是个好同学,做一件事要有奔头和热情。继续保持。不要迷茫,如果觉得厌恶一件事。这有毛线问题,你是个Developer。你用英文字母去创造整个世界。你还管不了自己想做什么?不要向自己妥协哈。做你喜欢做的事,就是这么简单哈。一时半会不会得到什么回报。眼光远点,不是1年,2年。是5年。10年。你想成为什么样的人。so。。。生活如此扯蛋。。你还是得活着。
    vjnjc
        47
    vjnjc  
       2014-03-17 23:52:40 +08:00
    为什么大一就前端了。。。我记得我大一就没摸到过代码。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5362 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:55 · PVG 15:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.