• 请不要在回答技术问题时复制粘贴 AI 生成的内容
beginor
V2EX  ›  程序员

这道题目面试过这么多人,第一次见这么答的 😂

  •  
  •   beginor ·
    beginor · Mar 25, 2025 · 20318 views
    This topic created in 592 days ago, the information mentioned may be changed or developed.

    这道题目面试过这么多人,第一次见这么答的 😂

    这道题目面试过这么多人,第一次见这么答的

    小伙子看起来挺醒目的,不像是装的,憋了半天写出的答案,作何感想?

    113 replies  •  2025-04-04 13:47:00 +08:00
    1  2  
    ❮ ❯
    wuzhi1234
    wuzhi1234
    Mar 25, 2025 via iPhone❤️25
    1
    简洁明了,建议直接入职
    xiaowoli
    xiaowoli
    Mar 25, 2025
    2
    哈哈哈哈哈 尽然还不是 ===
    ezerear
    ezerear
    Mar 25, 2025
    3
    你就说对不对吧😂
    kris0502
    kris0502
    Mar 25, 2025
    4
    没毛病,完全按照题目作答
    nice2cu
    nice2cu
    Mar 25, 2025
    5
    可能紧张理解错了吧 ,或者加一句 传入任意参数 进行格式化输出
    evan1
    evan1
    Mar 25, 2025❤️39
    6
    代码可读性高、扩展性高、可维护性强。
    paopjian
    paopjian
    Mar 25, 2025❤️2
    7
    骗分导论精髓啊, 先把样例打了, 其他过不过再说
    zpaeng
    zpaeng
    Mar 25, 2025
    8
    直接入职
    longzcxx
    longzcxx
    Mar 25, 2025❤️5
    9
    面向测试用例编程
    Cooky
    Cooky
    Mar 25, 2025❤️5
    10
    建议入职华为
    wyntalgeer
    wyntalgeer
    Mar 25, 2025❤️5
    11
    本日最佳!最喜欢看吊面试题的人,这种烂题工作中用得到?
    me1onsoda
    me1onsoda
    Mar 25, 2025
    12
    不能说 0 分
    402124773
    402124773
    Mar 25, 2025❤️1
    13
    是不是测试用例都通过了,是不是 o ( 1 )的时间复杂度
    ninjashixuan
    ninjashixuan
    Mar 25, 2025❤️10
    14
    过拟合(不是
    MozzieW
    MozzieW
    Mar 25, 2025❤️39
    15
    测试用例全过了,出问题是因为产品逻辑定义不清晰
    chairuosen
    chairuosen
    Mar 25, 2025
    16
    人肉打表法
    hefish
    hefish
    Mar 25, 2025
    17
    没毛病。满分。
    ClaudeCode
    ClaudeCode
    Mar 25, 2025❤️3
    18
    @wyntalgeer #11 一时不知道你是在串还是认真的。 先不说这个题烂不烂,但是这种时间 format 应该很常见吧
    kandaakihito
    kandaakihito
    Mar 25, 2025
    19
    力扣刷排位基操
    lqy2575395
    lqy2575395
    Mar 25, 2025
    20
    就问你性能强不强吧
    FrankAdler
    FrankAdler
    Mar 25, 2025 via Android❤️1
    21
    想看看 java boy 写的几百上千行的实现方式
    wu00
    wu00
    Mar 25, 2025❤️5
    22
    一看就是高手,招进来怼产品的好帮手!
    0 怎么输出
    60 怎么输出
    3600 怎么输出
    3601 怎么输出
    lyxxxh2
    lyxxxh2
    Mar 25, 2025
    23
    我之前也遇到过类似的面试者:
    写个函数,模仿 js 的 find 。
    如 js 的:
    const a = [{'id':1},{'id':3},]
    a.findIndex(item => item.id === 3)
    // 1

    结果:
    ```
    function find($arrs){
    foreach($arrs => $index => arr){
    if($arr['type'] === 3){
    return $index
    }
    }
    }
    ```
    跟他说我还可能有个 type,又在他 foreach 里面加个 type 。
    我又去菜鸟教程截屏给他:(微信先面试的)


    后续忘记了,由于前面几个问题,加我感觉他闭包都不晓得,我心里已经把他标记淘汰了。
    他说我态度不行,我也怼回去了 ...
    aikilan
    aikilan
    Mar 25, 2025❤️2
    24
    是不是 O(1)吧你就说
    bzw875
    bzw875
    Mar 25, 2025
    25
    用机器生成所有数字,用空间换时间。果然新头脑就是有新思路
    freemoon
    freemoon
    Mar 25, 2025
    26
    再满足题目要求的情况下,做到了输出正确,性能第一。
    Vegetable
    Vegetable
    Mar 25, 2025
    27
    答案正确,没用===,不合格。
    flyingghost
    flyingghost
    Mar 25, 2025
    28
    start = now()
    sleep(input)
    end = now()
    print(end - start)

    时间复杂度 O(n),此处 O(n)的意思是 n 是多少复杂度就是多少。
    35aZ4P8mT576683q
    35aZ4P8mT576683q
    Mar 25, 2025 via iPhone❤️1
    29
    最后一个 case 少了一个“小”字
    takanashisakura
    takanashisakura
    Mar 25, 2025
    30
    @flyingghost #28 深得 sleep 排序精髓
    kneo
    kneo
    Mar 25, 2025
    31
    有点像文心一言的答案。
    tonytonychopper
    tonytonychopper
    Mar 25, 2025
    32
    function formatTime(num: number) {
    const hour = Math.floor(num / 3600);
    const min = Math.floor((num - hour * 3600) / 60);
    const second = num - hour * 3600 - min * 60;
    return [
    { unit: '小时', value: hour },
    { unit: '分', value: min },
    { unit: '秒', value: second },
    ]
    .map(config => (config.value ? `${config.value}${config.unit}` : ''))
    .join('');
    }
    wtml
    wtml
    Mar 25, 2025
    33
    面向结果编程,你就说对不对吧
    xueyuehua
    xueyuehua
    Mar 25, 2025❤️1
    34
    是不是先对 3600 取模,余数在对 60 取模就行了
    moefishtang
    moefishtang
    Mar 25, 2025 via Android
    35
    面向测试用例编程😂时间复杂度 O(1),你就说运行得快不快吧
    levelworm
    levelworm
    Mar 25, 2025 via Android
    36
    @xueyuehua 输出的时候我估摸着还要看看分和时是不是零。
    shawnsh
    shawnsh
    Mar 25, 2025 via Android❤️1
    37
    MVP
    jqknono
    jqknono
    Mar 25, 2025❤️5
    38
    可以先申请一个 10w 字节的数组, 然后
    array[1]="1 秒"
    array[61]="1 分 1 秒"
    array[3661]="1 小时分 1 秒"

    这样以空间换时间, 使性能更优.
    flyqie
    flyqie
    Mar 25, 2025 via Android
    39
    @jqknono #38

    可扩展性极其优秀!
    EscYezi
    EscYezi
    Mar 25, 2025 via iPhone
    40
    写一个 http 调用 deepseek api ,然后把题干写提示词里🤣
    night98
    night98
    Mar 26, 2025
    41
    if n < 60 out n
    if n < 3600 out n % 60 xxxx
    else out xxxx
    rekulas
    rekulas
    Mar 26, 2025❤️6
    42
    这题太简单
    众所周知,闹钟是每秒滴答一次的,所以正确答案是这样
    ```
    function gettime(n) {
    const t = [0, 0, 0];
    const tick = () => {
    if (t[2]==60) {t[1]++;t[2]=0;}
    if (t[1]==60) {t[0]++;t[1]=0;}
    }
    for(let i=0;i<n;i++) {
    t[2]++;
    tick();
    }
    tick()
    return [t[0],[t[1],t[2]].join('分')].join('小时')
    }
    ```
    lts9165
    lts9165
    Mar 26, 2025
    43
    @rekulas 很棒
    v1
    v1
    Mar 26, 2025
    44
    离开 IDE 突然让我写 format 确实还得想半天,tab 按烂了
    ZRS
    ZRS
    Mar 26, 2025 via iPhone
    45
    打表很熟练
    kokerkov
    kokerkov
    Mar 26, 2025
    46
    你就说跑起来结果对不对吧。狗头
    kokerkov
    kokerkov
    Mar 26, 2025
    47
    @MozzieW 有理有据,令人信服
    GeminiPro
    GeminiPro
    Mar 26, 2025
    48
    打表大法好。
    superkkk
    superkkk
    Mar 26, 2025 via iPhone
    49
    @wyntalgeer 我们的产品里面真有这种小功能,后端传给前端时间戳,前端转成日期格式
    vikaptain
    vikaptain
    Mar 26, 2025
    50
    面向结果编程
    suofeiya
    suofeiya
    Mar 26, 2025
    51
    你就说结果对不对吧.
    liqingyou2093
    liqingyou2093
    Mar 26, 2025
    52
    小伙子挺不错的,if else 很熟练
    sir283
    sir283
    Mar 26, 2025 via Android
    53
    @wyntalgeer 这东西用的挺多的,你应该只是画个界面的,不用处理逻辑跟线程,所以你不需要用。
    987N
    987N
    Mar 26, 2025
    54
    你就说结果对不对吧.
    luzemin
    luzemin
    Mar 26, 2025
    55
    至少愿意尝试一把
    wuxiaolong89
    wuxiaolong89
    Mar 26, 2025
    56
    你就说对不对吧
    orlando
    orlando
    Mar 26, 2025
    57
    面向 LeetCode 骗分编程
    SevenElevenZ
    SevenElevenZ
    Mar 26, 2025
    58
    可塑性强! 建议直接入职
    miku999
    miku999
    Mar 26, 2025
    59
    3661 的错了, 不通过
    chengzigua
    chengzigua
    Mar 26, 2025
    60
    面向结果式编程
    mangwen
    mangwen
    Mar 26, 2025
    61
    直接入职,绝了
    18500592934
    18500592934
    Mar 26, 2025
    62
    这完全正确啊!毕竟题目只是说写一个函数,可没有其他要求了。
    lowly
    lowly
    Mar 26, 2025
    63
    @wyntalgeer 这个在实际工作中运用的还少?
    不论 to C 还是 to B 项目,只需要有时间,都倾向与当前时间进行比较吧
    几秒前、几分钟前、几小时前,几天前,时间差超出 2 两天或 3 天,一律按 m-Y-d 格式来输出展示
    这种需求不论产品还是需求方都会这么要求
    litmusF
    litmusF
    Mar 26, 2025
    64
    秀
    kakakakaka8889
    kakakakaka8889
    Mar 26, 2025
    65
    @yaocai321 直接 dayjs 完事
    kakakakaka8889
    kakakakaka8889
    Mar 26, 2025
    66
    @lowly dayjs 就可以搞定了
    kakakakaka8889
    kakakakaka8889
    Mar 26, 2025
    67
    @superkkk 不用 dayjs ?
    justfindu
    justfindu
    Mar 26, 2025
    68
    很明确不是吗
    lowly
    lowly
    Mar 26, 2025
    69
    @kakakakaka8889 他的回答不是用什么方法的问题,而是说这个面试题没意思,实际工作中并不会有这样的需求
    superkkk
    superkkk
    Mar 26, 2025
    70
    @kakakakaka8889 我是测试,不知道他们用什么实现的。
    LZWDRWEB
    LZWDRWEB
    Mar 26, 2025
    71
    面向机试开发
    noahliaszn
    noahliaszn
    Mar 26, 2025
    72
    通过了 3 个用例 没毛病呀
    hnliuzesen
    hnliuzesen
    Mar 26, 2025
    73
    跑表,是 ACM 选手
    semxau789
    semxau789
    Mar 26, 2025
    74
    @Cooky 你是懂华为的
    nzynzynzy
    nzynzynzy
    Mar 26, 2025
    75
    @Cooky #10 {山海经名字}计算器,运算逻辑上比友商对 CPU 性能的要求降低 99%
    jjwjiang
    jjwjiang
    Mar 26, 2025
    76
    个人觉得应该直接 sleep 对应的秒数,然后用当前时间减去初始时间就能轻松得出对应的时分秒了,节省了大量复杂度😁
    juzisang
    juzisang
    Mar 26, 2025
    77
    性能最优,测试用例全过,典型的 TDD 编程模式
    nenseso
    nenseso
    Mar 26, 2025
    78
    你就说过没过用例吧
    ZztGqk
    ZztGqk
    Mar 26, 2025 via iPhone
    79
    没有深度思考
    lychee930224
    lychee930224
    Mar 26, 2025
    80
    老 TDD 了
    xzylzz
    xzylzz
    Mar 26, 2025
    81
    @kakakakaka8889 #66 如果临时用一下,两分钟就能写完的东西有什么必要引入一个库?
    simo
    simo
    Mar 26, 2025
    82
    只关注你的头像了,比 v2 的好看
    richChou
    richChou
    Mar 26, 2025
    83
    @evan1 应该说 代码可读性、扩展性、可维护性极强
    richChou
    richChou
    Mar 26, 2025
    84
    @flyingghost 哈哈哈哈哈,测试会上来跟你拼了。
    sakura1988
    sakura1988
    Mar 26, 2025❤️1
    85
    题干应当给出具体的格式化规则,而不是给几个样例。单从题干来说,请问 86400 、604801 、31536001 、123456789 应该输出什么?
    题干本身极其不严谨,答题人直接打表没什么问题。
    gzhjj
    gzhjj
    Mar 26, 2025
    86
    就为了看看他能走多远,必须招进来
    kkbear
    kkbear
    Mar 26, 2025❤️2
    87
    这明显就是低智 AI 产品的答案啊
    leonshaw
    leonshaw
    Mar 26, 2025
    88
    然而最后一个 case 挂了,「 1 小时」写成了「 1 时」
    129duckflew
    129duckflew
    Mar 26, 2025
    89
    这人绝对是打过 ACM 的 打表选手
    EndlessMemory
    EndlessMemory
    Mar 26, 2025
    90
    哈哈哈
    adoal
    adoal
    Mar 26, 2025
    91
    由于题干不严谨,所以直接按用例打表没问题。面试官给他直接挂掉面试更没问题。
    sigma65535
    sigma65535
    Mar 26, 2025
    92
    直接 CTO,走起
    Deming19
    Deming19
    Mar 26, 2025
    93
    public string FormatTime(int num)
    {
    if (num < 0)
    throw new ArgumentException("分钟数不能为负数", nameof(num));

    TimeSpan duration = TimeSpan.FromMinutes(num);
    int totalHours = (int)duration.TotalHours; // 计算总小时数(含超过 24 小时的部分)

    return $"{totalHours}小时{duration.Minutes}分{duration.Seconds}秒";
    }
    sparklee
    sparklee
    Mar 26, 2025
    94
    fun convertToString(
    value: Int,
    units: Array<String> = arrayOf("小时", "分钟", "秒"),
    rates: Array<Int> = arrayOf(60 * 60, 60, 1)
    ): String {
    var _str = ""
    var _temp = value
    rates.forEachIndexed { index, v ->
    val t = _temp / v
    if (t > 0) {
    _str += (t.toString() + units[index])
    _temp %= v
    }
    }
    return _str
    }
    lesismal
    lesismal
    Mar 26, 2025
    95
    题目挺不错的!
    答案挺解压的!

    生活就是应该这个样子!
    lijilin92
    lijilin92
    Mar 26, 2025
    96
    快就完事了
    RoccoShi
    RoccoShi
    Mar 26, 2025
    97
    小时没打对
    jackyli1
    jackyli1
    Mar 26, 2025
    98
    能用吗?我就问你能不能用?(狗头
    mmrpeng
    mmrpeng
    Mar 26, 2025
    99
    符号普通人的思考过程
    def format_data(data):
    m = 60
    h = 60*m
    d = 24*h
    md = 30*d
    y = 12*md
    format_str = ""
    if(data < 0):
    return
    y_ = data // y
    if(y_):
    data = data - y_ * y
    format_str+="%d%s" % (y_, "年")
    md_ = data // md
    if(md_):
    data = data - md_ * md
    format_str+="%d%s" % (md_, "月")
    d_ = data // d
    if(d_):
    data = data - d_ * d
    format_str+="%d%s" % (d_, "日")
    h_ = data // h
    if(h_):
    data = data - h_ * h
    format_str+="%d%s" % (h_, "时")
    m_ = data // m
    if(m_):
    data = data - m_ * m
    format_str+="%d%s" % (m_, "分")

    s_ = data % m
    format_str+="%d%s" % (s_, "秒")
    print(format_str)
    dp
    dp
    Mar 26, 2025
    100
    没有毛病 满足需求
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1430 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 162ms · UTC 04:52 · PVG 12:52 · LAX 20:52 · JFK 23:52
    ♥ Do have faith in what you're doing.