1
junho 2020-02-29 08:42:33 +08:00
平时会刷算法题
|
2
AslanFong 2020-02-29 08:47:19 +08:00 2
你以前考试都不复习吗?
|
4
20015jjw 2020-02-29 09:07:06 +08:00 via Android
在意就刷
随便过不过练手就不刷 |
5
siriussilen 2020-02-29 09:17:54 +08:00
已经刷了三个月,可是依旧对面试很焦虑
|
6
siriussilen 2020-02-29 09:20:06 +08:00 3
我是信管相关专业的,leetcode 全站排名从 40000+刷到了 800+,有些刷过的题还是会忘掉,得二刷 三刷才能真正融会贯通,可是最近就要实习生招聘了,真的很慌。
|
7
AngryMagikarp 2020-02-29 09:26:35 +08:00
从来不刷,还不如把在之前公司做的项目再仔细回想一遍。
|
8
NoString 2020-02-29 09:58:34 +08:00
周五在上班 周六早面试 别说复习 连自己项目的 bug 没改完就去面试,然后挂的非常和谐,不忍心再伤害面试官(菜字当头还不复习的后果)
|
9
lqw3030 2020-02-29 10:01:20 +08:00
保持危机感,上班期间坚持学习
|
10
hyy1995 2020-02-29 10:04:25 +08:00
必然会刷面试题的,但刷面试题之前,你得充分理解自己做的项目,这个比刷面试题重要。现在的面试真的跟入职做的东西是两码事,为了筛人,面试越来越像考试了…
|
11
cxshun 2020-02-29 10:04:26 +08:00
之前不刷,也不复习,后面去面了几次,被一些基础题啥的虐了之后,我现在坚信面试前一定要复习一下,包括你项目中用到的所有技术,遇到过的所有问题,都要回顾一遍。
这样胸有成竹在谈价的时候也有底气 |
12
haosamax 2020-02-29 10:13:18 +08:00
感觉 算法好难啊!别的基础知识可以背一背,算法真的就不会,就会背个二分查找、冒泡排序
|
14
jackchao7432 2020-02-29 10:31:43 +08:00
@AngryMagikarp 可能你没有去比较大的互联网公司面试过吧,哈哈
|
15
watzds 2020-02-29 10:33:04 +08:00 via Android
太懒了,真没动力刷题,上学时也是,但是又吃亏
|
16
charlie21 2020-02-29 10:40:19 +08:00 via iPhone
拳不离手 曲不离口
|
17
lee015 2020-02-29 10:41:29 +08:00 via Android
非算法技术岗而言,基础肯定是要复习的,基础答不好一面容易挂。工作年限多项目经验丰富的话算法要求低一些,二分、冒泡、快排、链表 /二叉树遍历理解透彻基本就够了,总结项目相关技术。工作年限少的尤其应届生,那是要更高的算法要求,可以刷刷 leetcode 这些
|
18
hxtheone 2020-02-29 10:58:29 +08:00
每周一次 leetcode contest 就当练手了
|
19
qiushaox 2020-02-29 11:08:04 +08:00 via iPhone
算法基础知识要刷,同时也要加深设计模式,软件架构设计的理解。只知算法,没有架构设计思想的人,往往只见树木,不见森林。
|
20
Sniper416 2020-02-29 11:09:16 +08:00
那是肯定的,谁没事会在工作中手写 vue、promise。
|
21
alphatoad 2020-02-29 11:25:41 +08:00
字节跳动的题还是有意思的,没 Google 那么恶心( 60 分钟三道 bugfree 真的没时间),也没 IBM 那么没水平( 180 分钟三道 lc easy 难度,没劲)
|
22
PanJiaChen 2020-02-29 11:31:04 +08:00
面试前不刷题,这不是对面试官的不尊重么。。。。
裸造航母还是挺难的。 |
23
zzzzzzggggggg 2020-02-29 11:59:09 +08:00
打篮球正式上场前两天不也需要打个热身赛么?上场前还得做好热身,不然容易崴脚
|
24
glumess 2020-02-29 13:56:41 +08:00
当然刷啦,除了准备项目经历,程序员必备的基础题目都还得准备一下。看面试题就好比高考前那以前做过的题目在复习看一看
|
25
GrayXu 2020-02-29 14:24:44 +08:00
\刷…权当抱佛脚
|
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 等待删除时使用,避免让程序变得复杂。 |
27
tilv37 2020-02-29 15:11:57 +08:00
我的话肯定得刷题的。
先刷基础知识,JVM、数据结构、常规算法、设计模式、网络之类的。然后结合自己的项目吧这些点都套进去,尽量做到言之有物。 然后就是看投的岗位有啥需求了,再针对性的开口平时不怎么掌握和使用的,做到基本了解就行了 |
28
jellybool 2020-02-29 16:55:54 +08:00 via Android
@siriussilen 竟然看到信管专业的人!世界真小
|
29
20015jjw 2020-02-29 17:35:18 +08:00 via Android
@aguesuka
算法题目的只是为了面试考察而已 不是为了让你在实际 project 里用的 重点在于考察解题能力 沟通能力 和 写码能力 |
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 还不够大,如果大的话就是会有影响 |
31
onfuns 2020-02-29 21:03:33 +08:00
知识都是碎片化的,面试问题大部分都是理论,实际项目中基本不用或者用的不多,就是背的知识,不刷怎么过。
|
32
tinyhill 2020-02-29 21:15:05 +08:00
作为面试官的人告诉你,刷题,是很容易被面出来的。一般答题如背书的,都会谨慎考虑。刷题可以,内化是关键。
|
33
anonymousUser123 2020-02-29 21:27:56 +08:00 2
怎么楼上大部分都只说刷算法题,是太多人没有经历过现在的面试吗。。。。
现在面试除了算法题还会问其他这些啊 https://www.bilibili.com/video/av48988279 volatile 不保证原子性,指令重排 CAS 底层原理 原子引用 锁的底层 JVM 底层 等等 这些平常写业务很难接触到啊, 即使业余有学习,学完以后也容易忘啊 面试当然要前做个重点回顾啦。 |
34
windliang 2020-02-29 21:32:03 +08:00
现在每天也都刷刷 leetcode,顺序刷题目前到 239 了,每道题都记录了详细思路,分享一下
https://leetcode.wang/ |
35
kevincai100 2020-02-29 22:07:27 +08:00
现在面试真的像造火箭,挺难的
|
36
aguesuka 2020-02-29 23:13:41 +08:00
@helloworld000 leetcode 这么靠前的题。
不过你想复杂了。首先我不需要排序,其次我的接口可以这么写 T add(E elment); boolean remove(E element, T token);类似 js 的 setTimeout 和 clearTimeout 函数。还有个隐藏条件是一个 elenment 只会 add 一次,容器只会被遍历一次。 最快的方法是使用一个 Array 和一个 Stack,Array 在没有元素被删除的时候正常增加,有元素被删除的时候把被删除元素下标保存到 Stack 里面,如果 Stack 不为空,则增加时优先使用 Stack 里的下标。不过在使用时要考虑的比这个多,要不要实现 Collection 接口,token 保存在哪,遍历时要不要快速失败,如果要改成并发容器需要多大工作量。最关键的是不做基准测试很难知道到底那个实现快,比如你猜同样是 O(1),用链表快还是散列表快。 跑题了,我觉得刷算法题性价比的原因是要花很大精力去写很脏的代码,去实现不灵活的接口,当然学到的经验很宝贵,但是在写代码时只是最基本的素质,而在面试时,手写的代码面试官也不会看,说出原理就行了。 |
37
tt67wq 2020-03-01 09:29:20 +08:00
肯定得刷
|