![]() |
101
ychost 1 天前
不刷题还是难搞的,主要是白板写代码,平时工作也不会这么干
|
![]() |
102
hylqs 1 天前
@RadishWind 今年为什么这样,不应该更卷吗
|
![]() |
103
stnaw 1 天前
我猜你是上来就直接扔了个类似于 “怎么实现一个 LRU 算法”的问题 ? L R U 的猜单词游戏 哈哈哈
|
104
Plutooo 1 天前
@xz410236056 #47 一面就会问吗,那是我肤浅了
|
![]() |
105
Meld 1 天前
很多人一看到算法就打怵就否认自己,其实 LRU 需求给的细一点安安静静一会儿就能写出来
|
106
mooyo 1 天前
这都写不出来的,也别面了。
|
107
mooyo 1 天前
leetcode + 系统设计就是新八股啊,有啥问题。不问这些,问你那一堆 CRUD 的项目有什么能问的,背诵 java boy 的祖传 20 年的 jvm 调参参数么? Copilot 背的不比你利索?
|
![]() |
108
JZen 1 天前
我前几天去面试 Android ,让我手写(写在纸上)一些 Android 的功能实现,因为没有提前做面试准备,我完全写不出来,谁没事干会去背那些 SDK 方法名和参数名啊,又不是考研,真的离谱。
我觉得更合适的是,给个场景,问我如何解决给出思路,或者让我上机写。 以前面试过一家特别舒服的,老板也是程序员,他让我上机写代码,限定时间,可以随意上网,不允许用 AI 。 |
![]() |
109
crh3188 1 天前
2.7 年大厂经验(还在持续搬砖中),让我突然写出来,有点慌, 仔细思考下还是能写的。
|
110
aug31xxx 1 天前
不难
|
![]() |
111
icyalala 1 天前
我也写过移动端 LRU Cache ,开源而且用得人很多
但我现在没准备要我直接写,我不一定能写好。。。 |
112
tohuer00 1 天前
如果是三年前我找工作那会儿,简单。
如果是现在,很难。 所以这种问题的价值在哪? |
113
victorc 1 天前
这个属于 leetcode 中等难度题,大厂招聘门槛题
你说 BAT 候选人没有做出来,大概率是百度/阿里的,字节出来人没有问题 过去 10 几年互联网大发展,吃了时代红利,很多人浑水摸鱼进来了,根本不认真练习技术 未来 5 年内,ai 辅助编程会把这类程序员清空,大幅度压缩 初级中级程序员的工作岗位,未来会出现一个岗位,AI 编程驾驶员,工资 1 万出头,而名校计算机博士,起薪 200 万人民币 我在二线城市,程序员水平太差了,面试只能降低要求,出 easy 难度题目,比如下面这题 https://leetcode.cn/problems/move-zeroes/description/?envType=study-plan-v2&envId=top-100-liked 给定一个数组 nums ,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 好多工作 10 来年的程序员花了 20 分钟都做不出来,不知道干什么吃的 我发给我儿子做,一个小学 5 年级学生,才学了 3 个月 c++,1 分钟之内做出来 |
![]() |
114
pkoukk 1 天前
@tohuer00 LRU 是个经典且常见的缓存设计啊,这种设计的思路是可以广泛应用在很多地方的。
我觉得考 LRU 比考快排合理多了,一个完全没刷过算法题,但是好好做过项目的人,给提示和时间绝对写的出 LRU 。 但是快排这种设计,没背过算法,有几个人想得出来?那么容易想的出来,就不会 1960 年才提出了 |
116
Futuroscope 1 天前 via Android
我之前见大厂面试还喜欢让人手写 shared_ptr ,个人认为这个比 lru 简单一些。可能这已经变成大厂面试的门槛了?
不过我更倾向于这跟工作要求有关。虽然我也是写业务,但是业务跟几何打交道,经常碰到类似装箱问题这种 np 问题,或者一些几何算法,或者一些很经典的算法场景例如 dp 。面试的话如果这些算法做不出来,最低需要展现一定的思考深度吧。 |
![]() |
117
NoString 1 天前
我喜欢让候选人写 BFS 或者 DFS 这种,代码也不复杂,能说清楚递归思路也行,能看出来应对面试态度。如果是单出 LRU 我认为难度也适中,不是什么恶心题,涉及 01 背包/动态规划/贪心算法的相关问题其实就有点上强度了。突然让我写上面说的这些我都写不明白,但是如果是去心怡的公司面试,我应该会准备好,最起码不会太离谱。(刚毕业的时候面试到后面可以手写矩阵乘法/各类排序,最后一家公司写的是斐波那契数列递归、回文字符串,虽然现在换了四家公司,再也没遇到写编程题的场景了)
|
![]() |
118
RadishWind 1 天前
@hylqs 不知道 可能和我从事的行业也有关系? 不是纯互联网了
|
119
123zouwen 1 天前 ![]() @yuanyao 我面试一般会先看项目经历, 考察基础知识. 再让面试者说说拿到一个需求后他的工作流程是怎么样的, 再结合几个业务上的问题, 大概就能了解这个人的真实水平 以及他有没有系统设计能力. 一个需求能不能放心的交给他,考虑问题是否全面, 是否有责任心, 靠不靠谱.
虽然说大部分人都是 crud 但写代码跟写可维护的工程是不一样的. 现在大部分业务的代码有什么难度可言, 重要的是对待一个需求的态度是怎么样的, 有没有自己的想法, 别给后人挖坑. |
120
leon0918 1 天前
一般劝退的时候我会出这个,放水的就原地翻转链表
|
![]() |
121
zangbianxuegu 1 天前
三年经验有点过了
|
![]() |
122
szdev 1 天前
国内卷八股就算了,还有拉上算法··
|
![]() |
123
Jinyang7 1 天前
没准备的话,确实写不出来
|
![]() |
124
wulili 1 天前
很多人是不是不知道 LRU 是啥,这都没涉及到什么算法,完全是很直白的逻辑,比冒泡排序还简单的逻辑。
|
125
runlongyao2 1 天前
好像不是很难
|
126
runlongyao2 1 天前
算法对代码好看很有帮助
|
127
tjfamtf 1 天前
看过一遍怎么写的,现在忘了
|
![]() |
128
lrvy 1 天前
巧了,我经常考 LRU || LFU ,作为算法基础题不算难,主要是考察思路和编码习惯,校招得要写出来,社招写不出来没啥,如果思路不对或一行代码都写不出就要 pass 。作为 RD ,校招会主要考察基础和算法编码,社招主要考察系统架构设计和项目规划,侧重不同。
|
![]() |
129
kinkin666 1 天前
难是不难,但个人认为有的有工作经验的人写代码可能会考虑更多别的东西,会更倾向于使用现成的组件,会潜意识里会觉得有些地方会很棘手,从而不想写;
比方说要一个 LRU Cache 无非就是要一个容量有限的缓存,那为什么不用 Guava 的 Cache ,为什么不用 EhCache ,为什么不用 Redis ,这些组件还有更多选项可以设置呢,还能自动过期呢; 如果把#82 的代码的实现都删掉,告诉他能做到 O(1)最好,让人填空,相当于把鸭子赶到架子前面,不上也得上了,这种情况下可以看人实现或许更容易让更多人接受; 如果就是想压力测试一个人,那就这么直接问也无可厚非 |
130
lwlizhe 1 天前
那你提醒下呗,引导和提醒下还不会的,那是真不知道的,
稍微背过或者接触过的,提醒和引导下估摸也写的差不多,原理又不难,这不一下子就区分开了 |
131
zeroSummer 1 天前
这种题一点意义都没有,不准备的基本都搞不出来,准备的也是背出来的
|
![]() |
132
ahbicj 1 天前
手搓的都是玩具,太多适应面试造轮子的人,在生产中喜欢自己搓轮子造成的故障了
|
133
holdeer 1 天前
说说是怎么出的?
|
134
mingdongshensen 1 天前
如果人家恰好看过题进来了,该干的活不会,该如何应对
|
![]() |
135
me1onsoda 1 天前
对目标大厂的应届生是基操啦,他们没工作经历,只能卷基础,告诉你我很能卷,选我就对了。老油条没必要卷这个
|
![]() |
136
fengsi 1 天前
是力扣的那个 LRU 吗?那玩意真难吗?现在很多面试比他难得题目多了去了,另外居然还有人形容成 “背诵题”,我也是醉了,没见过的话第一次没写出来没关系。说到底这个不就是一个 map 加一个双向链表的事吗?我甚至觉得这个的难度,比我当初刚学链表时老师让下课思考的题目简单多了,毕竟当时有些个问题困扰许久,但这个 LRU ,说实话我第一次见他就感觉比较 easy ,很容易就是 map+链表,移动下链表完事,比反转链表都好写了觉得。当然我觉得他们压根不理解 LRU 。
|
137
pippoflow 1 天前
@victorc 这道题要做到最快,感觉还是需要很敏锐的嗅觉的。比如这两个提交的差别:
class Solution { public static void moveZeroes(int[] nums) { int n = nums.length; int i = 0; for (int j = 0; j < n; j++) { if (nums[j] != 0) { int t = nums[i]; nums[i] = nums[j]; nums[j] = t; i++; } } } } class Solution { public void moveZeroes(int[] nums) { int i = 0; int j = 0; while(i < nums.length) { if (nums[i] == 0) { while (j < nums.length && nums[j] == 0) { j++; } if (j == nums.length) { break; } nums[i] = nums[j]; nums[j] = 0; } i++; j++; } } } |
![]() |
138
fengsi 1 天前
@matrix1010 是的,跟刷题没关系,题目要求一看就要能想到双向链表+哈希表,剩下的就是移动链表的事了,也没晒奇怪的,写不出来绝对是不达标的
|
139
panbeta 1 天前
如果候选人没准备过这题,也不能说明候选人不行。
恰恰好这是考察候选人编码实力的最佳时机。 作为面试官你可以从 LRU 的概念开始,给出提示,然后看候选人思考的广度和深度。 |
![]() |
142
dingyaguang117 19 小时 50 分钟前
如果直接告诉是 Hash 加链表,让实现。感觉没毛病
|