面试官说我面对算法题只会套模板

4 天前
letv  letv

但是套路不都那样吗?还是说我应该有什么更好的应对方式?

5002 次点击
所在节点   职场话题  职场话题
34 条回复
root71370
root71370
4 天前
反击: 你做需求都是从 0 撸轮子吗?
ice980
ice980
4 天前
面试官还想让你从数学角度解释吗,那他听得懂吗
DingJZ
DingJZ
4 天前
听起来已经是赞扬了,套模版我都不会
NathanInMac
NathanInMac
4 天前
什么年代了还考纯算法吗
FlorentinoAriza
FlorentinoAriza
4 天前
那你说话为什么还套用中文
lixiaolin123
lixiaolin123
4 天前
### 1. **看到题目,立即匹配“套路”**

* 例如,看到“求最短路径”,就直接套 **Dijkstra** 或 **Floyd-Warshall**,而不思考:
* 是否有 **无向图?**
* 是否是 **负权边?**
* 是否有 **更优的算法?(如 A*,BFS 适用于无权图)**
* 这样做虽然能解一些题目,但如果稍微变形,你可能就不会做了。

### 2. **不理解算法本质**

* 你可能会背很多算法模板,比如:

```
void quickSort(int arr[], int left, int right) {
if (left >= right) return;
int pivot = partition(arr, left, right);
quickSort(arr, left, pivot - 1);
quickSort(arr, pivot + 1, right);
}
```

* 但如果面试官问:
* **为什么要选 pivot ?**
* **什么时候会退化到 O(n²)?**
* **如何优化(随机化、三路快排)?**
* 你可能答不上来,说明你只是机械地记住了代码,而不是理解它的工作原理。

### 3. **遇到变形题就卡住**

* **例子:**
* 你学过 **二分查找**,会写:

```
int binarySearch(int arr[], int n, int target) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
```

* 但是如果题目要求:
* **查找第一个 >= target 的元素**
* **查找最后一个 <= target 的元素**
* 你可能不会写,或者不知道如何调整 `left` 和 `right` 的边界。

### 4. **忽视复杂度分析**

* 面试官可能问:
* 你的算法的时间复杂度是多少?
* 是否可以进一步优化?
* 如果你只是写出代码,而不能解释复杂度,说明你只是“套模板”而没有深入思考。
kingcanfish
kingcanfish
4 天前
@lixiaolin123 可惜了
w568w
w568w
4 天前
@lixiaolin123 #6

@Livid AI 回复
theoriz
theoriz
4 天前
@lixiaolin123 这是哪家 ai ,挺牛 b 的
hefish
4 天前
没人的时候,有口气的都要。
不要的时候,这个你的面相有些惊奇,容易吓坏周围的同事。
coderluan
4 天前
请他出一道套不了模板的题,出的了牛逼,出不了硬装逼。
coderlxm
4 天前
哈哈哈,其实说得也有道理,确实有些题可以套模板,但我觉得能做出来就行,起码这也算是提前准备了。
jeesk
4 天前
那他们招 发明算法的科学家吗
churchmice
4 天前
这叫套吗,这叫适配
zhleonix
4 天前
需要你的思考过程,估计发现貌似死记硬背了
letv
4 天前
@zhleonix 思考的本质也是在套模板吧?比如这一题是二叉树,多半我就考虑 BFS 或者 DFS 了
XuHuan1025
4 天前
@lixiaolin123 这个比豆包强啊 啥
solitude1942
4 天前
他的意思是要你给出思考过程?那可能可以先从最粗暴直接的思路想,然后考虑如何改进准确度和效率,直到找到最优解
oneisall8955
3 天前
算法最重要的是模板
ugpu
3 天前
你告诉他 我几十年的教育 读书都是告诉我套模板 公式化上分; 你非要装什么大以巴狼.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1118771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX