你们面试前或平常会刷面试题吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jdz
V2EX    程序员

你们面试前或平常会刷面试题吗

  •  
  •   jdz 2020-02-29 08:29:00 +08:00 via Android 7501 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。
    感觉不刷面试题好吃亏啊
    第 1 条附言    2020-02-29 10:04:44 +08:00
    这里的面试题不局限算法啊。还有 jvm,tcp 等乱七八糟的
    39 条回复    2020-03-04 22:11:57 +08:00
    junho
        1
    junho  
       2020-02-29 08:42:33 +08:00
    平时会刷算法题
    AslanFong
        2
    AslanFong  
       2020-02-29 08:47:19 +08:00   2
    你以前考试都不复习吗?
    jdz
        3
    jdz  
    OP
       2020-02-29 08:59:32 +08:00 via Android
    @AslanFong 有道理,还是刷刷题再面了
    20015jjw
        4
    20015jjw  
       2020-02-29 09:07:06 +08:00 via Android
    在意就刷
    随便过不过练手就不刷
    siriussilen
        5
    siriussilen  
       2020-02-29 09:17:54 +08:00
    已经刷了三个月,可是依旧对面试很焦虑

    siriussilen
        6
    siriussilen  
       2020-02-29 09:20:06 +08:00   3
    我是信管相关专业的,leetcode 全站排名从 40000+刷到了 800+,有些刷过的题还是会忘掉,得二刷 三刷才能真正融会贯通,可是最近就要实习生招聘了,真的很慌。
    AngryMagikarp
        7
    AngryMagikarp  
       2020-02-29 09:26:35 +08:00
    从来不刷,还不如把在之前公司做的项目再仔细回想一遍。
    NoString
        8
    NoString  
       2020-02-29 09:58:34 +08:00
    周五在上班 周六早面试 别说复习 连自己项目的 bug 没改完就去面试,然后挂的非常和谐,不忍心再伤害面试官(菜字当头还不复习的后果)
    xyooyx
        9
    xyooyx  
       2020-02-29 10:01:20 +08:00
    保持危机感,上班期间坚持学习
    hyy1995
        10
    hyy1995  
       2020-02-29 10:04:25 +08:00
    必然会刷面试题的,但刷面试题之前,你得充分理解自己做的项目,这个比刷面试题重要。现在的面试真的跟入职做的东西是两码事,为了筛人,面试越来越像考试了…
    cxshun
        11
    cxshun  
       2020-02-29 10:04:26 +08:00
    之前不刷,也不复习,后面去面了几次,被一些基础题啥的虐了之后,我现在坚信面试前一定要复习一下,包括你项目中用到的所有技术,遇到过的所有问题,都要回顾一遍。
    这样胸有成竹在谈价的时候也有底气
    haosamax
        12
    haosamax  
       2020-02-29 10:13:18 +08:00
    感觉 算法好难啊!别的基础知识可以背一背,算法真的就不会,就会背个二分查找、冒泡排序
    jdz
        13
    jdz  
    OP
       2020-02-29 10:21:40 +08:00 via Android
    @haosamax 我感觉相反..算法题就那么点,而基础知识太广了
    jackchao7432
        14
    jackchao7432  
       2020-02-29 10:31:43 +08:00
    @AngryMagikarp 可能你没有去比较大的互联网公司面试过吧,哈哈
    watzds
        15
    watzds  
       2020-02-29 10:33:04 +08:00 via Android
    太懒了,真没动力刷题,上学时也是,但是又吃亏
    charlie21
        16
    charlie21  
       2020-02-29 10:40:19 +08:00 via iPhone
    拳不离手 曲不离口
    lee015
        17
    lee015  
       2020-02-29 10:41:29 +08:00 via Android
    非算法技术岗而言,基础肯定是要复习的,基础答不好一面容易挂。工作年限多项目经验丰富的话算法要求低一些,二分、冒泡、快排、链表 /二叉树遍历理解透彻基本就够了,总结项目相关技术。工作年限少的尤其应届生,那是要更高的算法要求,可以刷刷 leetcode 这些
    hxtheone
        18
    hxtheone  
       2020-02-29 10:58:29 +08:00
    每周一次 leetcode contest 就当练手了
    qiushaox
        19
    qiushaox  
       2020-02-29 11:08:04 +08:00 via iPhone
    算法基础知识要刷,同时也要加深设计模式,软件架构设计的理解。只知算法,没有架构设计思想的人,往往只见树木,不见森林。
    Sniper416
        20
    Sniper416  
       2020-02-29 11:09:16 +08:00
    那是肯定的,谁没事会在工作中手写 vue、promise。
    alphatoad
        21
    alphatoad  
       2020-02-29 11:25:41 +08:00
    字节跳动的题还是有意思的,没 Google 那么恶心( 60 分钟三道 bugfree 真的没时间),也没 IBM 那么没水平( 180 分钟三道 lc easy 难度,没劲)
    PanJiaChen
        22
    PanJiaChen  
       2020-02-29 11:31:04 +08:00
    面试前不刷题,这不是对面试官的不尊重么。。。。
    裸造航母还是挺难的。
    zzzzzzggggggg
        23
    zzzzzzggggggg  
       2020-02-29 11:59:09 +08:00
    打篮球正式上场前两天不也需要打个热身赛么?上场前还得做好热身,不然容易崴脚
    glumess
        24
    glumess  
       2020-02-29 13:56:41 +08:00
    当然刷啦,除了准备项目经历,程序员必备的基础题目都还得准备一下。看面试题就好比高考前那以前做过的题目在复习看一看
    GrayXu
        25
    GrayXu  
       2020-02-29 14:24:44 +08:00
    \刷…权当抱佛脚
    aguesuka
        26
    aguesuka  
       2020-02-29 14:25:31 +08:00
    写过需要算法的项目后,发现刷算法题是一个性价比非常低的事情。
    比如我需要一个数据结构,操作只有 3 种,就是增加,删除和无序遍历。刷算法题的经验告诉我这种东西最适合用双向链表做,增加时返回 node,删除时移除 node,遍历写个 for 循环就行。增加删除的复杂度是 O ( 1 ),遍历的复杂度是 O ( n ).可再我使用的实际场景种还不如一个数组,时间复杂度是 O ( n )的根据下标增加和删除,因为在我这个量级创建对象的时间更慢(论坛里曾有人说绝对不要使用 LinkedList 时,我曾经很不屑)。而实际上,有个《数据结构》里没有的数据结构可以用 Array 来完成 O(1),O(1)的按下标删除和增加。
    最后我选择了用 HashSet,不是应为它最快,而是因为它不需要保存下标或者 node 等待删除时使用,避免让程序变得复杂。
    tilv37
        27
    tilv37  
       2020-02-29 15:11:57 +08:00
    我的话肯定得刷题的。
    先刷基础知识,JVM、数据结构、常规算法、设计模式、网络之类的。然后结合自己的项目吧这些点都套进去,尽量做到言之有物。
    然后就是看投的岗位有啥需求了,再针对性的开口平时不怎么掌握和使用的,做到基本了解就行了
    jellybool
        28
    jellybool  
       2020-02-29 16:55:54 +08:00 via Android
    @siriussilen 竟然看到信管专业的人!世界真小
    20015jjw
        29
    20015jjw  
       2020-02-29 17:35:18 +08:00 via Android
    @aguesuka
    算法题目的只是为了面试考察而已 不是为了让你在实际 project 里用的 重点在于考察解题能力 沟通能力 和 写码能力
    helloworld000
        30
    helloworld000  
       2020-02-29 20:43:14 +08:00
    刷题这些东西就跟健身跑步一样,没事都可以搞一搞

    @aguesuka
    比如我需要一个数据结构,操作只有 3 种,就是增加,删除和无序遍历。刷算法题的经验告诉我这种东西最适合用双向链表做,增加时返回 node,删除时移除 node,遍历写个 for 循环就行。增加删除的复杂度是 O ( 1 ),遍历的复杂度是 O ( n ).


    我觉得你肯定刷的不够好,因为你这个需求是个很典型的 LRU cache,需要 doubly-linked list + hashmap,就能实现 O(1) 的增加和删除还有搜索

    ```
    可再我使用的实际场景种还不如一个数组,时间复杂度是 O ( n )的根据下标增加和删除,因为在我这个量级创建对象的时间更慢`
    ``

    因为你的场景 scalablity 还不够大,如果大的话就是会有影响
    onfuns
        31
    onfuns  
       2020-02-29 21:03:33 +08:00
    知识都是碎片化的,面试问题大部分都是理论,实际项目中基本不用或者用的不多,就是背的知识,不刷怎么过。
    tinyhill
        32
    tinyhill  
       2020-02-29 21:15:05 +08:00
    作为面试官的人告诉你,刷题,是很容易被面出来的。一般答题如背书的,都会谨慎考虑。刷题可以,内化是关键。
    anonymousUser123
        33
    anonymousUser123  
       2020-02-29 21:27:56 +08:00   2
    怎么楼上大部分都只说刷算法题,是太多人没有经历过现在的面试吗。。。。
    现在面试除了算法题还会问其他这些啊 https://www.bilibili.com/video/av48988279
    volatile 不保证原子性,指令重排
    CAS 底层原理
    原子引用
    锁的底层
    JVM 底层
    等等
    这些平常写业务很难接触到啊,
    即使业余有学习,学完以后也容易忘啊
    面试当然要前做个重点回顾啦。
    windliang
        34
    windliang  
    PRO
       2020-02-29 21:32:03 +08:00
    现在每天也都刷刷 leetcode,顺序刷题目前到 239 了,每道题都记录了详细思路,分享一下
    https://leetcode.wang/
    kevincai100
        35
    kevincai100  
       2020-02-29 22:07:27 +08:00
    现在面试真的像造火箭,挺难的
    aguesuka
        36
    aguesuka  
       2020-02-29 23:13:41 +08:00
    @helloworld000 leetcode 这么靠前的题。

    不过你想复杂了。首先我不需要排序,其次我的接口可以这么写 T add(E elment); boolean remove(E element, T token);类似 js 的 setTimeout 和 clerTimeout 函数。还有个隐藏条件是一个 elenment 只会 add 一次,容器只会被遍历一次。

    最快的方法是使用一个 Array 和一个 Stack,Array 在没有元素被删除的时候正常增加,有元素被删除的时候把被删除元素下标保存到 Stack 里面,如果 Stack 不为空,则增加时优先使用 Stack 里的下标。不过在使用时要考虑的比这个多,要不要实现 Collection 接口,token 保存在哪,遍历时要不要快速失败,如果要改成并发容器需要多大工作量。最关键的是不做基准测试很难知道到底那个实现快,比如你猜同样是 O(1),用链表快还是散列表快。

    跑题了,我觉得刷算法题性价比的原因是要花很大精力去写很脏的代码,去实现不灵活的接口,当然学到的经验很宝贵,但是在写代码时只是最基本的素质,而在面试时,手写的代码面试官也不会看,说出原理就行了。
    tt67wq
        37
    tt67wq  
       2020-03-01 09:29:20 +08:00
    肯定得刷
    haosamax
        38
    haosamax  
       2020-03-03 17:19:36 +08:00
    @jdz 我打内心恐惧算法。感觉没什么套路可言。请大佬指教!
    jdz
        39
    jdz  
    OP
       2020-03-04 22:11:57 +08:00 via Android
    @haosamax 熟读唐诗三百首,不会作诗也会偷
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1049 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:24 PVG 02:24 LAX 11:24 JFK 14:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86