内推,二面面试官约了两天后要笔试(之前听说内推没有笔试),我不敢大意,想到工作三四年了,应该不会考察特别难的算法。查了一下别人分享的面试,要不是就是没有笔试, 要不是就是一些线性表,多线程顺序执行问题。我的算法基础还行,曾经也刷过题,线性表问题(比如反转链表,合并有序数组之类)、二叉树问题( BST 等)、排序算法( TopK,Nth 等等)、 手写 BlockingQueue 、LRU 、还是多线程问题,我觉得这些对我来说没什么问题。
到了约定时间,面试官给我发了一个在线编程的网页,打开后题目已经在那里了,看起来是实际问题而不是具体的算法数据结构之类。面试官说给你 40 分钟,你把这两道题写完,我说能不能用 IDEA,面试官说不能,然后就不说话了。毫无代码提示补全,完全白板编程,不仅如此,题目描述都很简单,但是却有五六个类,之间都有关系,我抓紧认真审题,光弄懂题目都花了十多分钟,我吃惊的发现这两道题竟然都和动态规划有关,我当时心凉了一半。第一道题是用滑动窗口(双指针)找到极值,我用吃奶的力气才做完(白板编程,还有多层循环的 continue,break )。第二道题,经过我的抽象,发现竟然是一道复杂的背包问题。
题目大致是 n 个背包,m 个物品, 每个背包可以有某些物品任意件, 找出最少的背包包含所有的物品。 注: 此题一定有解。
//经过我的抽象大致是这样的,重量和数量问题不用考虑 public static class Product{} public static class Package{} //此物品是否在包裹中 public boolean productInPackage(Package packet, Product product) { ***** } //完成此方法: 每个背包可以有某些物品任意件,找出最少的背包包含所有的物品 public Map<Product, Package> findLeastPackages(List<Product> products, List<Package> packages) {}
心里真的拔凉拔凉的。时间到了我第二题只做到一半(找到了所有背包中所有的物品),后面时间不够,集合的交叉并补也记得不是很清楚了。而且只有大致的思路。也没想到最优的解法。
我 JDK 重要源码学了一遍又一半,HotSpot 源码也有所涉猎,研究 JDK 的 BlockingQueue 、ConcurrentLinkedQueue 、WorkStealingQueue,JCtools 的 SPSC 、MPSC 、MPMC,Disruptor RingBuffer, 学习各种 lock-free 算法和结构,心想自己技术水平还算可以,没想到折戟在这里。
不知道是不是内推的这个部门不招人( JD 描述还是 9 月份),自己一直对阿里有好感,但是一面面试官的傲慢,二面出这种题目白板编程,感觉自己被耍了。我只是面一个 P6 而已,现在也是公司的一个技术小 leader,每天 5 点多就能下班了,笔试晚上 9 点半还能听到对面的人在讨论需求。说实话这些对我有影响,但不是最重要的,我想去阿里因为我对自己和技术还有追求。当然最想去阿里中间件团队,但是据说特别难,所以选择了曲线救国的方法。可是遭遇这一遭。
自己的解法,笔试结束后用 IDEA 花了近 2 个小时才写完,又花了一些时间优化了代码,但是不知道还有什么简单或最优的解法。
public static class Product{} public static class Package{} public boolean productInPackage(Package packet, Product product) {} // n 个背包, m 个物品, 每个背包可以有某些物品任意件, 找出最少的背包包含所有的物品 注: 此题一定有解 //不考虑背包的权重、背包中物品权重、物品数量和重量 public Map<Product, Package> findLeastPackages(List<Product> products, List<Package> packages) { if (products == null || products.isEmpty() || packages == null || packages.isEmpty()) { return null; } Set<Product> productSet = new HashSet<>(products); Set<Package> packageSet = new HashSet<>(packages); int productsSize = productSet.size(); int packagesSize = packageSet.size(); //返回值 Map<Product, Package> priorityPackages = new HashMap<>(productsSize); //包裹 <=> 包裹里物品的双向对应 //可以使用 Guava 的 Bimap Map<Package, Set<Product>> allPackages = new HashMap<>(packagesSize); Map<Set<Product>, Package> productSetPackage = new HashMap<>(packagesSize); //寻找到包含数量物品种类最大的包裹 Package maxProductsPackage = null; Set<Product> productTempSet = null; for (Package aPackage : packageSet) { if (aPackage == null) { continue; } //初始化 aPackage allPackages.put(aPackage, (productTempSet = new HashSet<>())); productSetPackage.put(productTempSet, aPackage); for (Product product : productSet) { if (product == null) { continue; } //物品在背包中, 放入背包 if (productInPackage(aPackage, product)) { allPackages.get(aPackage).add(product); } } if (maxProductsPackage == null) { maxProductsPackage = aPackage; } else { maxProductsPackage = allPackages.get(aPackage).size() >= allPackages.get(maxProductsPackage).size() ? aPackage : maxProductsPackage; } } //已经找到背包有哪些物品 //开始集合运算 //maxProductsPackage 种类最多, 说明这个一定是最优里面的 //maxProductsPackage 包含所有种类 直接返回 if (allPackages.get(maxProductsPackage).size() == productSet.size()) { for (Product product : productSet) { priorityPackages.put(product, maxProductsPackage); } return priorityPackages; } //todo 机试的就写道这里 主要记不太清楚集合的交叉并补 API,时间也不足 (40 分钟白板写代码) //没有使用 lambda 、Stream API 主要是记忆问题(白板写代码), 还有通过数组包装局部变量, 还有多层循环 break // 1.删除 maxProductsPackage 子集的包裹 // 2.找到其他包裹和 maxProductsPackage 差值最大的包裹, 并取并集作为新的 maxProductsPackage // 3.判断 maxProductsPackage 是否包含所有物品, 是的话返回, 不是的话重复第一步直到找到结果或集合为空(一定有答案) Set<Product> maxProducts = allPackages.get(maxProductsPackage); Set<Product> secOndMaxProducts= null; //删除最大包裹 allPackages.remove(maxProductsPackage); //留下来的包裹 [不在最大包裹之内, 有差值, 但不是差值最大的] 找到差值最大的合并到 maxProducts, 然后转移到 mergeSets HashSet<Set<Product>> remainSets = new HashSet<>(allPackages.values()); //和最大包裹差值最大的, 已经合并到最大包裹内 [结果一定在这个里面] Set<Set<Product>> mergeSets = new HashSet<>(packagesSize); mergeSets.add(maxProducts); while (maxProducts.size() != productsSize) { //如果 remainSets 为空,且 maxProducts.size() != productsSize 说明没有答案[不会发生] //可以把所有包裹相加去重后如果!= productsSize, 说明没有答案, 这样可以更快排除,这里只是以防万一 if (remainSets.isEmpty()) { return null; } //寻找次大的包裹, 不需要比较优先级 [使用 iterator 模式删除元素, 优化循环] Iterator<Set<Product>> iterator = remainSets.iterator(); while (iterator.hasNext()) { Set<Product> next = iterator.next(); next.removeAll(maxProducts); //是 maxProducts 的子集 if (next.isEmpty()) { iterator.remove(); continue; } //初始化 secondMaxProducts 可以删除次大元素减小集合 if (secOndMaxProducts== null) { secOndMaxProducts= next; } else { secOndMaxProducts= next.size() > secondMaxProducts.size() ? next : secondMaxProducts; } } // 已经找完,退出循环 if (secOndMaxProducts== null || secondMaxProducts.size() == 0) { break; } // 把 secondMaxProducts 加入到 maxProducts ////更新 maxProducts maxProducts.addAll(secondMaxProducts); //更新 mergeSets mergeSets.add(secondMaxProducts); //删除此元素 remainSets.remove(secondMaxProducts); secOndMaxProducts= null; } //mergeSets 即为所求 mergeSets.forEach(set -> set.forEach(product -> priorityPackages.put(product, productSetPackage.get(set)))); return priorityPackages; }
![]() | 1 huang119412 OP 有人吗 |
![]() | 2 corgiyun 2020-12-25 10:54:51 +08:00 本人菜鸡一枚,代码看不懂,不过感觉面试很大一部分看运气,艾盖斯 |
![]() | 3 huang119412 OP @corgiyun 是的,运气很重要 |
4 emSaVya 2020-12-25 10:59:19 +08:00 ![]() 你说的这些基本都是必刷题 包括 01 背包这些的 感觉是题刷少了? |
![]() | 5 qdwang 2020-12-25 10:59:23 +08:00 via iPhone ![]() 说明一点,不缺人 |
![]() | 6 bk201 2020-12-25 10:59:41 +08:00 ![]() 就当玩玩吧,这公司也在走下坡路了,没必要去。 |
![]() | 7 kera0a 2020-12-25 11:00:05 +08:00 via iPhone ![]() 还是昨天微软那哥们说的面试体验好,BO5 晋级赛的制度更能考察候选人 |
8 kuaner 2020-12-25 11:01:15 +08:00 应该是不缺人 |
![]() | 9 BBCCBB 2020-12-25 11:04:05 +08:00 什么时候能给面试官打分?? 这样可能会好点. |
11 NexTooo 2020-12-25 11:06:48 +08:00 新年规划之一就是刷刷题,争取经过一年充电后年有底气去试试大厂( x |
12 YouLMAO 2020-12-25 11:07:22 +08:00 不要随意抽象别人的描述, 抽象错了, 代码复杂 2 万倍 |
13 whiletrue 2020-12-25 11:07:35 +08:00 投简历前问问有多少 hc |
14 tcfenix 2020-12-25 11:10:03 +08:00 @huang119412 有几个因素影响..比如你面的部门, 你面的岗位....还有就是你是不是简历里面写了参加过比赛或者自己对算法很有自信? 不要灰心, 想进去后面还有机会面, 不过工作三四年的话建议等过两年能 7 了再去, 6 进去吃亏的概率不小 |
![]() | 15 huang119412 OP @emSaVya 你白板试一下可以吗?大言不惭? |
![]() | 16 tingyunsay 2020-12-25 11:10:32 +08:00 看你面的部门和岗位,我同事进去就是水着水着就进去了.. |
17 emSaVya 2020-12-25 11:13:46 +08:00 @huang119412 面试都是写白板的大佬 白板写不比在 ide 写舒服吗? 小错误 边界查询什么的都可以忽略了 |
![]() | 18 shuizhengqi 2020-12-25 11:15:01 +08:00 面试算法题,基本都是白板吧,我没记错的话,leetcode 不也是没有代码补全吗 |
![]() | 19 yzbythesea 2020-12-25 11:16:47 +08:00 讲道理阿里也是国内一线,这些题不过分,白板也还好,下次 LZ 多刷点儿 Leetcode,准备充足了,这些都是送分题。 |
![]() | 21 reedthink 2020-12-25 11:20:59 +08:00 背包问题,搭配《挑战程序设计竞赛》和背包九讲,基本所有背包题都能切掉 |
![]() | 22 wdytoya 2020-12-25 11:22:01 +08:00 只能说哥们没遇到匹配的面试官吧,那个白板编程系统我就不喜欢用,我宁愿发题目让候选人离线做看能做到最好的是什么程度,既能看优化,又能看代码风格。不过我们一般一面可选加笔试,二面往后一般就不会再上笔试了,你这遇到的团队也是有点奇怪 ps.看你似乎对中间件更感兴趣,不过我们一般讲技术都是要服务于业务的,如果你对业务团队感兴趣的话,我这边是支付宝用户增长团队,欢迎投递简历到 [email protected] |
23 woshiaha 2020-12-25 11:22:56 +08:00 ![]() 据说是今年开始阿里对齐字节 面试要求必须考察算法题 不过我感觉不同阿里面试官面试的浮动很大 大部分一面二面随便问问基础然后留道比如 LRU 淘汰或者链表题目就结束了 或者你面的 BU 特别核心? 实际上同一个面试官前后面试力度都有可能不同。。。 部门刚组建急招人就疯狂放水 到了 HC 快没了就开始各种刁难 要不咋说面试起码五分靠运气 |
24 aureole999 2020-12-25 11:30:19 +08:00 |
![]() | 25 hehe12980 2020-12-25 11:32:45 +08:00 ![]() 算法 写的太复杂了 为啥要抽象呢== 没弄懂 直接拿几个数组 去表示不行么 可能是我 leet 刷多了 |
![]() | 26 huang119412 OP @hehe12980 这是实际问题,我只是脱敏而已 |
![]() | 27 USAA 2020-12-25 11:38:27 +08:00 我这么想的,当然我没刷题哈。 如果有不对的,希望大佬指正 n 个背包,m 个物品, 每个背包可以有某些物品任意件, 找出最少的背包包含所有的物品。 先找出每个背包包含物品的种类和个数 弄个数组吧,背包[全部种类个数,[ [种类 A,个数],[种类 B,个数].....] ] 然后 for 循环取个数最多,每个种类个数最小。。。。。。。。。 |
![]() | 29 huang119412 OP @aureole999 我不是没想到怎么做,只是没想到最好的方法,还有方法。看一下这个方法的返回值和参数,比您发的这道题复杂一些,背包的物品有哪些东西都要自己先统计。 |
![]() | 31 wagjia 2020-12-25 11:53:30 +08:00 阿里巴巴最近不是被约谈了??? |
32 aureole999 2020-12-25 11:55:06 +08:00 @huang119412 国外公司的白板一般不需要直接写出最优方法,可以边写边讨论再改进,主要是考察思维过程。埋头猛写不说话的那种可能写出最优方法没 Bug 也不一定能拿到好评价。方法名参数忘记啥的跟面试官解释一下输入和输出就行。至于阿里面试是不是也是这样,我就不知道了。你也没说你中间有没有跟面试官讨论。光看你的描述面试确实挺变态的。 |
34 berg223 2020-12-25 12:00:28 +08:00 ![]() |
![]() | 35 binux 2020-12-25 12:14:38 +08:00 ![]() 题目不全,在不给出数据范围的时候不好说最优解,但是至少有两点你可以在下次面试的注意一下。 > 题目描述都很简单,但是却有五六个类,之间都有关系,我抓紧认真审题,光弄懂题目都花了十多分钟 首先,这是一场面试,交流能力是面试中很重要的一环。无论题目是否清晰,你都应该和面试官交流,确认题意,数据范围,test/edge case 举例,阐述你对题目的理解,已经你准备使用的算法。 如果你和面试官交流了 10 分钟,你不应该沮丧,反而这是很好的,有意义的。 > 发现这两道题竟然都和动态规划有关 > 用吃奶的力气才做完 你误解了算法面试的意义,算法面试并不要求你“做完”,也不要求“最优解”(当然,能找到最优解更好)。和上面说的一样,面试最重要的是交流。 首先是“做完”,不知道你有没有事先和面试官确认你的想法,然后再实际编码。一般算法面试的代码量不会很大,如果你能写出上百行,那么可能是做法有问题。不过由于题目不全,或许真就很复杂呢... 然后是“最优解”,在你无法一步到位的情况下,你可以使用 brute force 。面试官会根据他对这个职位的期望,引导你寻找更优,或者将最优解的算法作为你完成 brute force 之后的 follow up 。 总之算法面试关键在于面试而不是算法。调整好心态,别太纠结,多刷刷题,下次就好了。 |
![]() | 36 HytonightYX 2020-12-25 12:46:24 +08:00 @binux 说的非常 nice,同感 |
![]() | 37 rodrick 2020-12-25 13:06:02 +08:00 心态放好吧,我觉得不能说是面试难,可能是你的准备正好不在面试官面的点上,看你源码各种准备了很多,算法可能不够充足但是也准备了一些,偏偏没考到你准备的,也算是运气吧,现在面试和上学考试一样,总会碰到你不会的大题,也别气馁。说句不好听的,阿里约谈了还是阿里,有这种所谓的不平等也算是扭曲的“正常”,总而言之不算是你的问题,再加油准备准备吧 |
![]() | 38 e583409 2020-12-25 13:18:18 +08:00 人生苦短 默默的安慰一下 |
39 unijiang 2020-12-25 13:36:53 +08:00 楼主微软欢迎你,有兴趣私信哈 |
![]() | 40 AlexWIT 2020-12-25 13:55:51 +08:00 ![]() @binux 道理确实是这么个道理,但我从他描述的情况来看面试官好像不太愿意交流,把题目一扔让面试者自己写完就完事了,这种情况还能跟面试官确认想法吗? |
41 Suddoo 2020-12-25 14:00:19 +08:00 ![]() 面试官应该会跟你交流的吧,题目意思应该尽量澄清,毕竟面试官也不想浪费时间在理解题意上。之前面的两家面试官都会解释题目意思,交流的过程中思路不对就直接提示不要往这个方向想了,实在没有思路也会给一点提示。 阿里不清楚啊,之前面了几个部门,感觉就是背八股文 + 项目,最后让我手写一个快排发面试官邮箱(感觉就是走个形式),因为我一直做的是打杂的项目,也没啥好说的,蚂蚁三面也没问啥技术,问了很多人生方面的,最后就挂了 |
42 Suddoo 2020-12-25 14:02:40 +08:00 @binux 是的,我面试的时候举了一些 testcase,结果被面试官指出 testcase 太特殊了,结论是错误,交流很重要,列举 testcase 的过程也可以加深自己对题目的理解 |
![]() | 43 leoli 2020-12-25 14:07:25 +08:00 本人 985 本硕,工作近 10 年。表示面试阿里面不过去,我深深的感觉自己很挫! |
![]() | 45 callmexiaodeng 2020-12-25 14:30:52 +08:00 来亚马逊试一下嘛 |
46 mxT52CRuqR6o5 2020-12-25 14:31:58 +08:00 想要最优解的话需要动态规划相关的知识,这种应该是把思路讲明白就好了 如果不动态规划的话,就要用一些效率不是最高的暴力解法了 |
![]() | 48 BIAOXYZ 2020-12-25 14:46:39 +08:00 @leoli #43 老哥不用太在意,面试这个跟很多因素都有关系(当然最重要的还是眼缘)。比如 lz 碰到这种手撕两道 hard,那一般社招的人真的过不去。 |
49 laminux29 2020-12-25 14:51:39 +08:00 ![]() 作为带过的徒弟已经在 bat 带队的大佬,出来讲几句。 1.面试,这本来就是一场对被面试者很不公平的事情,因为 IT 整个技能树,知识点犹如浩瀚大海,正常的个人根本没办法完全覆盖所有知识点。面试官如果真想为难我,他完全可以去 mysqll 领域,随便找个版本,来问我某个模块有啥 bug 。我就算是一千年前开始学计算机,也没办法百分百完美地回答上这个问题。 2.面试官的态度、面试的难度、面试成功率等等问题,牵涉到太多因素,比如职员数量的供求关系、企业经营现况、面试官个人职业素养等等。假设你是面试官,甚至公司老板,想想你在招人时,需要考虑多少因素与条件。因此,面试无论输赢,都不用太激动或太沮丧。很多时候走了顺电梯流或逆电梯流,在面试者没研究过公司经营,没有了解整个行业以及国家的运营情况,根本不知道自己面试成功或失败的关键原因。这就像是向一个女生表白,被拒绝的时候,除非开挂,否则你很难猜对对方拒绝你的真正原因。 3.加入一个组织,最好的姿态是,组织需要做某个新领域,没有经验,然后你又是该领域的大佬或小佬,这种情况加入进去,对双方都是最合适最舒服的。 然而,题主在一个公司走下坡路,面试官职业素养又不高,而且要进去的领域已经充分竞争,这种情况下,去面试,能顺利都已经谢天谢地了,被各种嘲讽或被为难必然是正常状态。 |
![]() | 50 zkywalker 2020-12-25 15:07:07 +08:00 @laminux29 这位大佬说的非常对,面试就是一场信息不对称的考试。面试官可以通过你的简历去挖掘你的工作细节,也可以根据自己的经历和职位要求去考察你的知识储备。但是你这种笔试感觉不是面对社招的,社招出这东西大概率是不缺人。。。 |
![]() | 51 lewis89 2020-12-25 15:08:41 +08:00 @laminux29 #49 老哥 说的真的很在理,我觉得面试最好还是去挖掘对方的优点,IT 知识确实浩瀚大海,我读完 CSAPP 再看一些老程序员在 386 栈上玩,那个时候的协程 连自己的栈都没有,都是自己用 sp 指针 开几个空间 让协程去玩,玩完了再返回回来,要是问这种计算机考古学,我也答不上来,我现在基本上是先问下最近看了什么书,然后大概讲一下书上讲了哪些概念跟模型,以及面试者自己的一些理解。 |
![]() | 52 leoli 2020-12-25 15:10:41 +08:00 ![]() @BIAOXYZ 说实话手撕 hard 我真不怕,阿里那帮人老是揪着些八股文问来问去的,上次问了个什么细节来着,我说我忘了,他们说那看来你也不怎么样嘛。哎,从此之后阿里再打过来电话直接不甩他们了。 |
![]() | 53 xrr2016 2020-12-25 15:12:42 +08:00 去面微软 |
![]() | 54 bibizhang 2020-12-25 15:24:51 +08:00 真难,我不是开发我都看不懂。 |
55 berg223 2020-12-25 15:28:00 +08:00 @USAA 抱歉,我之前想了一下贪心算法的反例,看到你的评论,以为我们想法相同,所以留下一个反例在这。但仔细看了下你的评论,发现咱俩理解的题意不一样。区别在于你理解的题意是每个背包含有好几种物品,每种物品还会有若干件,需要凑齐指定数量的某几种物品(比如你要凑齐 A 物件 3 件,B 物件 5 件);我理解的题意是每个背包只是含有好几种物品,只需要凑齐某几类物品即可,所以是你的一个子问题。我的反例是针对这个子问题的。可以从这个子问题的反例推导出你的反例: 有 4 个背包,总共有 6 种物品(用编号 1~6 来表示),每类物品都需要 1 件 背包 1 含有 1,2,3 这三类物品,每种物品都是 1 件; 背包 2 含有 1,4 这三类物品,每种物品都是 1 件; 背包 3 含有 2,5 这三类物品,每种物品都是 1 件; 背包 4 含有 3,6 这三类物品,每种物品都是 1 件; 按照你的解法,因为它的物品个数最多,会选择第一个背包,但是最优的组合是选取 2,3,4 这三个背包,所以是一个反例。 |
![]() | 56 IMCA1024 2020-12-25 15:30:23 +08:00 楼主加油 不错了的 |
57 YouLMAO 2020-12-25 15:37:14 +08:00 楼主,我司不开发 jvm 的, 你学了白学了, Spring Cloud Alibaba 明天我出题看看你 |
![]() | 58 lewis89 2020-12-25 15:40:42 +08:00 @zkywalker #50 没办法,现在大厂都是这么一个套路,必须要刷题,不刷题必死,风气就是这么带起来的,我每次面完算法都是头疼 |
59 Cbdy 2020-12-25 15:46:07 +08:00 via Android 看了一下感觉常规题吧,别用 Java 写,罗里罗嗦写起来慢,用 IDE 都勉强,遑论白板 |
![]() | 60 BiteTheDust 2020-12-25 15:49:48 +08:00 这基本就是模拟题了吧 似乎几乎没有涉及到任何算法的样子..... |
![]() | 61 young1lin 2020-12-25 15:54:04 +08:00 一面有点傲慢,具体傲慢在哪?我一面的时候面试官还挺好的,是我太菜了,根本没准备。可能是不同部门。 |
62 roudancongji 2020-12-25 15:56:48 +08:00 对阿里有好感??? |
![]() | 64 suikatw 2020-12-25 16:14:29 +08:00 楼主遇到的面试题是不是和门店分单有关系?我很早之前出过类似的笔试题,因为这个就是我在实际项目里解决过的问题。不过这个题想在 40 分钟内写完是不太可能的,我一般会让面试者认真写完第一问,第二问给出简单思路即可,不需要代码实现。第一问主要考察基础代码能力和理解能力,日志设计,异常设计,主要是看工程代码规范性。第二问是看算法方面有没有亮点以及聪明程度 |
![]() | 65 suikatw 2020-12-25 16:20:32 +08:00 针对候选人的不同状况,目标等级还有面试官自己的意图,即使是同一道笔试题考察的方面也会不一样,不一定要写出最优解才代表通过笔试。我理解笔试时长如果安排到了 40 分钟,那么应该有 5-10 分钟时间是用来充分交流和理解题意的 |
![]() | 66 kekeekehernando 2020-12-25 16:22:22 +08:00 其实不是非要完全写出来才能过的。。。 |
67 zr8657 2020-12-25 16:23:03 +08:00 ![]() 但凡你跟阿里在公司层面打过交道就不会对他们有好感。阿里好像会给合作公司的对接人员打分,然后评估些乱七八糟的,再来拿这东西跟合作公司压价;正在线上用的 API 说升级就升级,不升级用不了,根本就不管你什么历史数据、已经在运行的项目,凡是要讨论东西必须去钉钉,那个文档更是跟屎没什么两样,我巴不得他解体 |
68 openbsd 2020-12-25 16:48:36 +08:00 年底了,大厂有没有面试 KPI ? |
![]() | 69 suikatw 2020-12-25 16:50:23 +08:00 @huang119412 我仔细看了一下你的解题过程,我感觉还是有一些自己思考的。如果题目我猜的没错的话是一个组合优化问题,经典的 np hard 。如果你对这个题目想有更多的讨论,可以加一下我的微信(我微信号 thpiano ) |
70 jonathanchoo 2020-12-25 16:51:08 +08:00 哈哈,让我想起了前几天我舍友晚上的阿里二面笔试,他是测开,也是这个什么伯乐系统,代码提示都没有,题虽然打眼不难,但还是有深度的。 但是面试官人还是挺好的,全程没有一直打电话,而是 40 分钟到了打电话过来问做完了吗。 看没做完,问解题思路,再引导你再写一遍,然后再给他你的代码,全程非常和谐。 所以你面的部门有问题,不必气馁,加油! |
![]() | 71 onyourroad 2020-12-25 16:59:33 +08:00 我都找了一个多月工作了,都没找到,每次手撕代码不是写不上,就是写的有遗漏,然后告诉我回去等结果,等的花儿都谢了。 |
72 neutralcomments 2020-12-25 17:01:38 +08:00 via Android @openbsd 面试有没有 KPI 说不准,辞退估计是有的 |
73 JokeFunny 2020-12-25 17:17:54 +08:00 刷 KPI 吧,就当没面过就是了,反正也不是啥好公司 |
![]() | 74 dengtongcai 2020-12-25 17:26:33 +08:00 说实话,我做不出来。。 |
![]() | 75 tigren 2020-12-25 17:38:00 +08:00 一道不会,我觉得我要被开除出程序员圈了 |
![]() | 76 zproo 2020-12-25 17:43:49 +08:00 面的哪个部门 我拉黑一下,避免踩坑 |
![]() | 77 xuhai951753 2020-12-25 17:48:02 +08:00 弱弱地问句淘系搭建团队的 Java 岗位考虑么。https://v2ex.com/t/733419#reply0 |
![]() | 78 huang119412 OP @suikatw 我一个老码农早对算法没追求了,如果说探讨 JDK,JVM 源码还有兴趣。 |
![]() | 79/div> Sunben 2020-12-25 17:58:26 +08:00 帖主,别找寻安慰了。 阿里那边意思是考你工作多年有啥进步没,以及你做的课前调查工作。每个面试官口味都不一样,和听众评委一样。 |
![]() | 80 psklf 2020-12-25 18:08:27 +08:00 @huang119412 感觉你对白板有成见,我觉得白板编程能体现一部分个人的能力。太过依赖提示不好。 |
![]() | 81 lewis89 2020-12-25 18:08:47 +08:00 ![]() @neutralcomments #72 没有 KPI ? kidding ? |
82 linbin57 2020-12-25 18:13:33 +08:00 他们年底肯定有面试 kpi 尽管我碰到的阿里面试官都挺 nice,但他们也不得不刷 kpi 啊。 49 楼说得挺对的,“题主在一个公司走下坡路,面试官职业素养又不高,而且要进去的领域已经充分竞争”,这个是大背景,这一波一波的约谈,估计他们 hc 很紧。 |
![]() | 83 riba2534 2020-12-25 18:46:38 +08:00 感觉问题有歧义。 1. 有 m 个物品,需要完全装进背包中,问最小需要几个背包。 2. 有 n 个背包和 m 个物品,你需要把这 m 个物品放进这 n 个背包中,问重量最小的背包里面有哪些物品。 --- 题意是上面两个哪一种? |
![]() | 84 wangyzj 2020-12-25 19:14:47 +08:00 面试 去之前烧支香 |
85 ghostlzw 2020-12-25 19:21:49 +08:00 没有数据范围谈做法的都是耍流氓 |