V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
letv
V2EX  ›  职场话题

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

  •  
  •   letv · 18 小时 55 分钟前 · 2893 次点击

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

    19 条回复    2025-03-17 00:03:52 +08:00
    root71370
        1
    root71370  
       18 小时 30 分钟前 via Android
    反击: 你做需求都是从 0 撸轮子吗?
    ice980
        2
    ice980  
       18 小时 28 分钟前   ❤️ 1
    面试官还想让你从数学角度解释吗,那他听得懂吗
    DingJZ
        3
    DingJZ  
       18 小时 27 分钟前   ❤️ 3
    听起来已经是赞扬了,套模版我都不会
    NathanInMac
        4
    NathanInMac  
       18 小时 23 分钟前
    什么年代了还考纯算法吗
    FlorentinoAriza
        5
    FlorentinoAriza  
       18 小时 8 分钟前
    那你说话为什么还套用中文
    lixiaolin123
        6
    lixiaolin123  
       18 小时 6 分钟前
    ### 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
        7
    kingcanfish  
       18 小时 2 分钟前
    @lixiaolin123 可惜了
    w568w
        8
    w568w  
       18 小时 1 分钟前
    @lixiaolin123 #6

    @Livid AI 回复
    theoriz
        9
    theoriz  
       17 小时 57 分钟前
    @lixiaolin123 这是哪家 ai ,挺牛 b 的
    hefish
        10
    hefish  
       17 小时 56 分钟前
    没人的时候,有口气的都要。
    不要的时候,这个你的面相有些惊奇,容易吓坏周围的同事。
    coderluan
        11
    coderluan  
       17 小时 53 分钟前   ❤️ 1
    请他出一道套不了模板的题,出的了牛逼,出不了硬装逼。
    coderlxm
        12
    coderlxm  
       17 小时 18 分钟前 via Android
    哈哈哈,其实说得也有道理,确实有些题可以套模板,但我觉得能做出来就行,起码这也算是提前准备了。
    jeesk
        13
    jeesk  
       17 小时 12 分钟前 via Android
    那他们招 发明算法的科学家吗
    churchmice
        14
    churchmice  
       16 小时 34 分钟前 via Android
    这叫套吗,这叫适配
    zhleonix
        15
    zhleonix  
       15 小时 48 分钟前
    需要你的思考过程,估计发现貌似死记硬背了
    letv
        16
    letv  
    OP
       14 小时 41 分钟前
    @zhleonix 思考的本质也是在套模板吧?比如这一题是二叉树,多半我就考虑 BFS 或者 DFS 了
    XuHuan1025
        17
    XuHuan1025  
       12 小时 47 分钟前
    @lixiaolin123 这个比豆包强啊 啥
    solitude1942
        18
    solitude1942  
       10 小时 43 分钟前
    他的意思是要你给出思考过程?那可能可以先从最粗暴直接的思路想,然后考虑如何改进准确度和效率,直到找到最优解
    oneisall8955
        19
    oneisall8955  
       5 小时 52 分钟前
    算法最重要的是模板
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   880 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:55 · PVG 05:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.