超能力归外野, 裸写hash, sort, set算是码农基本功吗?

Tips:点击图片进入下一页

现在各种库函数都可以方便调用,真有人把这些东西烂熟于心吗?


网友评论:
hash,set被问过,sort是真手写过。

— from Xiaomi MI 8, Android 9 of Next Goose v2.1.2
要看技术面的面试官是否认为是“基本功”
反正我不会写红黑树
手写冒泡是基本功,手写快排是神经病
总不能考手写依赖注入吧

不写快排,何必考排序啊。

— from Xiaomi MI 8, Android 9 of Next Goose v2.1.2

客官 您点的快排
(defn qsort [[pivot & xs]]
  (when pivot
    (let [smaller #(< % pivot)]
      (lazy-cat (qsort (filter smaller xs))
                   [pivot]
                   (qsort (remove smaller xs))))))
不能手写timsort不配当码农
的确是基本功...

  -
只会ctrl c ctrl v
只会ctrl c ctrl v
首先你总得知道原理吧,知道了原理总得自己敲一遍熟悉一下吧,原理和过程能熟记于心虽然不是说闭着眼睛写快排,但至少能自己较快地磨出来吧

— from samsung SM-G9550, Android 8.0.0 of Next Goose v2.1.2

美帝面试手写快排是基本功
赞美log2n,虽然不写程序,但我记得快排是对数复杂度,二分法所以用递归,,大概是考察有没有学过一点算法知识
手写快排很基础吧...
手写hash qsort都是考研专业课经常考的
手写快排不至于,能讲清楚思路就行了
很简单,这是一种智力测试。 就跟初中升高中,高中升大学的考试一样,大部分没有用。 你这辈子可能不会手写快排,或者balance一个二叉树,或者stack实现queue,queue实现stack,更别提更难的算法题了。 更多的是作为一种选拔制度。
手写快排一般都不会问你 因为太简单了...遍历二叉树是最基本的 二叉树其实也是被问得最多的
不是有号称面试裸写八皇后的吗
只会手写快排……还是刚开始的时候强背下来的
面试前看一看,坐班久了早忘记了。

— from vivo NEX S, Android 9 of Next Goose v2.1.0-play
你们说的手写hash是哪种hash,md5?

原来let可以绑匿名函数了。学习了
这tm难道不是基本功,qsort不管哪种语言就那么几句,c艹我都能写进30行,set的话有点麻烦,但当初练过15分钟撸平衡树
这些几十行记一记不就行了吗,那种裸写各种splay,avl,才是痛苦
算是鸡本宫,但是很多面试也不一定考,算法题多一些
这不全是算法课考的玩意么,课上过了这些东西都手写了五六遍了
因为历史原因,我觉得有三样东西是我一辈子都忘不了可以带到坟里的东西

1 孙子兵法第一篇
2新概念英语2的第一篇
3 手写快排
不过平衡树就没办法了,,前面三个都是初高中就学了的
Sort这种东西笔试面试都会涉及吧,基本上临时去看看代码记一下就完事。

—— 来自 HUAWEI JSN-AL00a, Android 9上的 v2.1.0-play
基本功?Leetcode前100题都是
手写hash太难了吧
手写快排看的是基本功,还有态度
就看你是否认真看过

—— 来自 HUAWEI ALP-AL00, Android 8.1.0上的 v2.1.2
手写hash没调查过,手写快排你找个学过信竞的高中生都会,平衡树倒是小部分可以手写还有一部分大概了解原理。
这不算基本功都说不过去吧?
每次找工作之前复习下就行,排序肯定要背,哈希没手写过,都是问复杂度
这个难道不是基本功?随便找个大二计科学生都能裸写,如果你要保证效率跟库函数完全一样又是另一回事了

  -
我 LowB 前端能找到个语法写得别跟二十年前一样的就谢天谢地了
不是,逻辑推演才是基本功
你读代码,重构,考查使用哪种解方法,都是靠推演后选择一个平衡的方案
排序初学的时候都写烂了吧
现在可是前端都要刷算法题的年代,排序当然是基本功
这不是基本功吗?楼主学基础语言时没碰到过自己写个类实现hash,set等功能吗?
手写遍历树很重要,可以看出来你是不是真的适合写代码。相比之下hash就弱上很多了

— from OPPO PAAM00, Android 8.1.0 of Next Goose v2.1.2
麻痹,码农要求那么高,我半路出家的一个都不会

io赛事倒是要背快排
中学时候能一分钟默写快排
我一个都不会

我们Pascal都是从doc里ctrl-c ctrl-v的
麻痹你们c++玩家真高端上档次
我这种转行写码的都没听过hash还手写的
不是一开始先推导一遍Roothan方程吗?
意义在于筛选啊,日后转cs的更多,要求也会更加高
写了将近20年代码(Java C++ ) 每次写排序代码都要翻书的,很惭愧啊
我告诉你为啥会考手写快排,hash和set,因为以前OI都是要考这些的,所以用这些东西可以筛出来搞过OI的那批人。

  -
红黑树这种左旋右旋细节一大堆的记不住, 快排, 二分这么简单的, 知道原理现场编码有什么难度?
讲道理红黑树你把原理的全部细节用文字描述给我, 照着编个码有什么问题?
这都手写不了,别说面试,你上学考试都考不过啊....
不是
首先说个事实,Java自带的timsort实现都有bug,你们手写哪里来的自信这个实现就是对的?也就是意思意思,还不如直接写快排的unittest来的有用。

反正我是不会手写快排了,面试之前复习一下。

这些东西知道原理是必要的,但是实际的实现都是高度复杂的,不信可以看看Java的hashmap,各种rehash的场景可以看得你吐血。
半路出家狗瑟瑟发抖 还好面试没碰到过

ml系语言都可以