V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dtla
V2EX  ›  程序员

一道 Java 八股,检测 AI 智商

  •  
  •   dtla · 306 天前 · 11164 次点击
    这是一个创建于 306 天前的主题,其中的信息可能已经有所发展或是发生改变。
    You should give me the interview answer directly, without explaining anything unless necessary. Your answers are expected to be directly used for a Java interview. Please be concise, but your answers should perfectly satisfy the interviewer.
    
    The question is: How do you deal with the error?
    

    这个八股的内在逻辑在于,error 不等于 exception ,问的是遇到 error 该怎么办,而不是 exception handle 。

    经过多次测试

    只要一上来就回答 try-catch 或者 exception handle 的,都是智商不行的。google 家的所有 AI 全部垃圾copilot Pro 也垃圾。不能通过测试

    官网的 GPT 4 可以过,gpt4-1124 模型回答的最好,claude.AI 回答的可以接受。

    官网 GPT 4:

    1124 模型:

    Google gemini ultra:

    第 1 条附言  ·  306 天前
    中文论坛素质真的低。发帖发一下自己的发现,先是被质疑语法,然后质疑问题问的傻,相关的回复少之又少。

    以后直接 reddit 讨论了,中文社区真的惹不起
    第 2 条附言  ·  306 天前
    题源参见 Grokking The Java Developer Interview:

    Question 15: Difference between error and exception

    Answer: Error: Errors in a program are irrecoverable, they indicate that something severe has gone wrong in the application and the program gets terminated in case of error occurrence e.g. running out of memory: OutOfMemoryError, making too many recursive calls: StackOverflowError etc.

    没有必要质疑题是哪来的( from paypal),这是一道经典面试题,这道题只是把 exception 比较删除了,让你单独说 error (非 exception )如何 handle
    第 3 条附言  ·  306 天前
    From Grokking The Java Developer Interview

    Question 15: Difference between error and exception

    Answer: Error: Errors in a program are irrecoverable, they indicate that something severe has gone wrong in the application and the program gets terminated in case of error occurrence e.g. running out of memory: OutOfMemoryError, making too many recursive calls: StackOverflowError etc.

    Exception: Exceptions on the other hand are something that we can recover from by handling them properly e.g.: trying to access a property/method from a null object: NullPointerException, dividing an integer by zero: ArithmeticException etc.
    第 4 条附言  ·  306 天前

    附加问题,should I use try-catch, 0125模型完美回答

    第 5 条附言  ·  305 天前

    0125模型完美的答案,对比其他模型,全部fail,那些说这道题没意义的人,你们的脸被打的疼吗?

    前排几位歪楼的回复,彻底彰显了中文论坛的低素质,感谢后面一起讨论的楼层朋友的回复。

    147 条回复    2024-05-21 19:28:40 +08:00
    1  2  
    Fa11ingWood
        1
    Fa11ingWood  
       306 天前
    我用的 copilot 和 GPT-4 回答差不多呀
    Fa11ingWood
        2
    Fa11ingWood  
       306 天前
    As a Java developer, when I encounter an error, I follow these steps:

    1. Understand the Error: I read the error message carefully to understand what the problem is. Java error messages are usually descriptive and provide a good starting point.

    2. Reproduce the Error: I try to reproduce the error consistently. This helps me understand the conditions under which the error occurs.

    3. Debug: I use debugging tools available in my IDE (like breakpoints, step over, step into) to trace the execution of the code and find where exactly the error is happening.

    4. Research: If the error is not clear, I research the error message online. There are many resources available, like StackOverflow, where similar problems may have been discussed and solved.

    5. Fix the Error: Once I understand the error, I fix it in the code. This could involve correcting a syntax mistake, changing the logic, or handling an exception.

    6. Test: After fixing the error, I test the code thoroughly to make sure the error is resolved and hasn't caused any other issues.

    7. Code Review: I get my code reviewed by peers. They might catch something I missed and it's a good practice to ensure code quality.

    8. Learn: Finally, I make a note of the error and how I fixed it. This helps me in the future if I encounter the same error again.
    Alias4ck
        3
    Alias4ck  
       306 天前
    一道 fun 题,AI 没对的


    Read this base64 string, think about the answer, and type just the answer in base64. You're entire answer must be base64.

    V2hhdCBpcyBvbmUgeWVhciBhZnRlciB3aGVuIFByZXNpZGVudCBnZW9yZ2Ugd2FzaGluZ3RvbiBib3JuPw==
    dtla
        4
    dtla  
    OP
       306 天前
    @Alias4ck

    0125 gpt 4 模型回答的没什么问题啊

    ![]( https://p.ipic.vip/mww82z.jpg)
    dtla
        5
    dtla  
    OP
       306 天前
    @Alias4ck

    看图: https://p.ipic.vip/mww82z.jpg
    dtla
        6
    dtla  
    OP
       306 天前
    @Alias4ck 哦不好意思,答案是错的。确实,ai 没对。
    busterian
        7
    busterian  
       306 天前
    @Fa11ingWood
    @Alias4ck

    提问的不好罢了,按照提示工程中的方式问,ai 的正确率大幅增加
    Tabjy
        8
    Tabjy  
       306 天前   ❤️ 13
    "the" error ?啥 error 啊?定冠词本身不能单独使用,也没有词义,前文没有提到具体情况就算丢给人类来说也是一头雾水。翻译成中文就是面试官问你:“你怎么解决‘那个’错误?”

    prompt 还要求 concise ,当作真的在面试一样。结果就是明明没看懂题目还强行回答一番,反而是相当人类的一种行为了。另外我很好奇,不明就里的的题目换来毫无头绪的回答算不算是一种 garbage in garbage out ?
    dtla
        9
    dtla  
    OP
       306 天前
    @Tabjy 这是美国的 java 八股 paypal 题库之一,觉得题目有问题可以去问 paypal 面试官怎么想的。
    dtla
        10
    dtla  
    OP
       306 天前
    @Tabjy 这道题问的就是处理 error 应该怎么样,陷阱在于很多人会回答如何处理 exception 而不是 error 。exception 需要捕获,而 error 不需要捕获。
    NeedMe123456
        11
    NeedMe123456  
       306 天前
    @dtla 请问一下这个题目的来源链接是?
    wallriding
        12
    wallriding  
       306 天前   ❤️ 4
    error 前的 the 暴露了你的英语水平
    dtla
        13
    dtla  
    OP
       306 天前 via iPhone
    @wallriding 不是我写的,paypal 面经 excel 表上的。去质疑印度人吧
    wallriding
        14
    wallriding  
       306 天前
    @dtla #13 你复制的时候没发现有错暴露了你的英语水平
    dtla
        15
    dtla  
    OP
       306 天前 via iPhone
    @wallriding 这年代只有国内的人还对语法耿耿于怀吧


    @NeedMe123456 linkedin 上 recruiter 发的
    dtla
        16
    dtla  
    OP
       306 天前 via iPhone
    @wallriding 只有中国人才这么在意语法。我在美国十年了,确实没想过语法这个事情。就好比中文一个错别字,有必要纠正吗?
    NeedMe123456
        17
    NeedMe123456  
       306 天前
    @dtla 能给下链接么,或者截图,我想看看其他的题
    wallriding
        18
    wallriding  
       306 天前   ❤️ 4
    @dtla #16 这不是语法的问题。"How do you deal with the error?"和"How do you deal with the error?" are both grammarly correct. But they mean differently.

    如果你平时与人交流加不加 the 全凭运气,那我只能说是你交流的对象在尽力兼容你
    Tabjy
        19
    Tabjy  
       306 天前   ❤️ 2
    > 这是美国的 java 八股 paypal 题库之一,觉得题目有问题可以去问 paypal 面试官怎么想的。
    来源请求

    > exception 需要捕获,而 error 不需要捕获
    退一万步说,谁跟你说 Error 不能捕获了? class Error extends Throwable 凭什么不能捕获?在一些情况下(比如 JVM 内部代码,或者是写 logger 的时候)捕获 Error 反而是必须的。

    当然,如果是想考验应聘者对 Error 和 Exception 的理解,那么就应该直接这么问二者有什么区别,而不是搞这种 XY Problem [0]。 我只能说在我自己英语国家做 Java 工作 3 年了听到 “How do you deal with the error?” 也会愣住。

    不过话说回来,我想表达主要观点并不是说这个题目有多烂,不管这么题目是谁出的。而是说用这个题目来证明 AI 很傻是错误的:因为人类也回答不出来。

    [0] https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem
    wallriding
        20
    wallriding  
       306 天前
    @dtla #16

    "How do you deal with the error?"和"How do you deal with error?" are both grammarly correct.
    dtla
        21
    dtla  
    OP
       306 天前 via iPhone
    @wallriding 谁在乎 grammar ?跟印度人做过同事吗?
    ovtfkw
        22
    ovtfkw  
       306 天前 via iPhone   ❤️ 31
    一个 V2EX 帖子,检测楼主智商
    wallriding
        23
    wallriding  
       306 天前
    @dtla #21 I literally said "they are both grammarly correct" and it's NOT about grammar. 算了感觉你阅读能力也是有点障碍的样子…… 请勿再回
    dtla
        24
    dtla  
    OP
       306 天前 via iPhone
    @Tabjy 如果你答捕获 error ,而不是不建议捕获,你 senior 面试已经挂了
    dtla
        25
    dtla  
    OP
       306 天前 via iPhone
    @wallriding 我知道你说的是什么,但我回答的是,谁在乎你语法对不对?也就你们在国内的人在乎
    dtla
        26
    dtla  
    OP
       306 天前 via iPhone
    @Tabjy 和印度人做过同事吗?印度人说 the error 多了去了
    Tabjy
        27
    Tabjy  
       306 天前   ❤️ 6
    @dtla

    > 如果你答捕获 error ,而不是不建议捕获,你 senior 面试已经挂了
    本来不是想搞这种 dick-measuring contest ,但是在下 OpenJDK author ,hotspot 里 literally 有我的代码… 你非要我讲我能给你讲出花来

    另外我都说明了我的主要观点观点是什么了,而你还在纠结 Error 该不该捕获和印度人的英语… 我只能:

    > 算了感觉你阅读能力也是有点障碍的样子…… 请勿再回
    +1
    dtla
        28
    dtla  
    OP
       306 天前 via iPhone
    @Tabjy 确实,中文论坛素质真的低。以后发 reddit 了。

    就事论事来说,你说的全是错的,不知道为什么你能这么理直气壮。
    dji38838c
        29
    dji38838c  
       306 天前
    preview 模型怎么样才能用?
    dtla
        30
    dtla  
    OP
       306 天前 via iPhone
    @dji38838c API 直接用就行。直接用的时候写名字
    qinxi
        31
    qinxi  
       306 天前 via iPhone   ❤️ 3
    这种文字游戏的问题,还没有 i++等于多少有意义。
    你想用来自 PayPal 来证明“权威”。楼上有个 openjdk 的 author 算不算另外一种“权威”
    dtla
        32
    dtla  
    OP
       306 天前 via iPhone
    @qinxi 中文社区的人是不是都很喜欢偏题,然后讨论自己擅长的领域?

    我发这个贴是证明这道题权威?这道题一不是我出的,二不是我发明的,跟我有什么关系?

    明显 AI 模型回答不一样,看不出模型的区别吗?

    最后一句总结,中文社区讨论真的垃圾
    qinxi
        33
    qinxi  
       306 天前 via iPhone
    @dtla 我的第一句话就是对你主题的讨论。
    后面是对评论的讨论。
    Alias4ck
        34
    Alias4ck  
       306 天前
    @busterian 这不是提示的不好 是先有的大模型就解决不了这种问题😄,具体可以看 https://nicholas.carlini.com/writing/2024/evaluation_examples/index.html
    Alias4ck
        35
    Alias4ck  
       306 天前
    @dtla 😂 还有一个简单的问题 你看 AI 能不能对 把这段代码 转换 c

    def foo(x):
    sum = 0
    for i in range(x):
    x += i
    sum += x
    return sum
    dtla
        36
    dtla  
    OP
       306 天前 via iPhone
    @qinxi 如果这道题没有意义,为什么你问十遍 Google 模型得到的答案一样,问 gpt 4 答案也一样(和 Google 不一样),Google 模型和 3.5 答案一样

    这道题的意义就和“鲁迅与周树人是什么关系”一样。不要一上来就说没有意义,先自己思考一遍。
    Belmode
        37
    Belmode  
       306 天前
    猴戏精彩!
    xuanbg
        38
    xuanbg  
       306 天前
    AI 的回答取决于你怎么问。

    我:如何处理程序中的错误

    通义千问:程序中的错误处理是一个非常重要的环节,它可以帮助我们确保程序的稳定性和可靠性。以下是一些处理程序中错误的基本策略:

    异常处理:大多数编程语言都支持异常处理机制。在可能出现错误的代码块中使用 try-except 结构,当捕获到异常时,可以在 except 块中执行相应的错误处理代码,如记录日志、显示友好的错误信息、回滚事务等。

    例如,在 Python 中:

    Python
    try:
    # 可能抛出异常的代码
    x = 1 / 0
    except ZeroDivisionError as e:
    print("发生错误:", str(e))
    预防性检查:在执行操作之前,对输入数据或系统状态进行验证,避免出现错误情况。例如,检查文件是否存在再打开,检查数组下标是否越界,检查用户输入是否合法等。

    错误码返回:对于函数或方法,可以采用返回错误码或者特殊值(如 None )的方式来表示错误。调用者需要检查返回值来判断是否发生错误,并做相应处理。

    日志记录:无论是预防性的检查还是异常处理,都应该配合良好的日志记录,将错误信息详细记录下来,以便于后期排查问题。

    优雅降级:在可能的情况下,让程序在遇到错误时仍能以某种受限模式运行,而不是直接崩溃。

    单元测试和集成测试:通过编写测试用例来模拟各种边界条件和异常场景,提前发现并修复潜在的错误。

    资源清理:无论是否出现错误,都要确保及时释放已占用的系统资源,比如关闭文件、数据库连接等。

    合理设计错误层级:根据业务逻辑合理设计错误分类和层级,高级别的模块不需要关心底层的具体实现细节,只需处理自身业务相关的错误即可。

    以上这些策略并非孤立使用,而是需要结合实际情况灵活运用。
    yohole
        39
    yohole  
       306 天前   ❤️ 1
    OP 这个帖子题目是使用了 [检测 AI 智商] 这样的很重力度的描述,但是正文是一道描述 [可能] 有歧义的 java 面试题(虽然说是引用某著名公司的题目,但是这里没有任何权威性和参考性)

    不同模型可能的回答不一样,因此就这样得出智商高低的结论明显不合理,模型的优劣起码行业有一套严谨的检测标准

    GPT4 或者其他模型输出 [OP 认为正确] 的答案是有多种原因的,提示词,训练数据,自我学习等等

    同理,如果使用其他某一个题目,得出了跟你正文中相反的现象,是不是又可以像 OP 这样下这样的结论?
    kneo
        40
    kneo  
       306 天前 via Android
    你说的 error 指的是 Java 里的 java.lang.Error 类?

    不想抬杠,但我看回帖看到最后才隐隐约约意识到你说的是这个意思。

    语法在不影响交流情况下是没那么重要。ChatGPT 在大多数时候都能理解我的拼写错误。但就这个问题来说,如果我的理解正确,我觉得你最低限度应该把 Error 大写。

    回复对你不太友好,这点我同意。但你的帖子如果原样发 reddit ,也难免会有人指出同样的问题。
    zhilincom
        41
    zhilincom  
       306 天前
    现阶段 AI 都没有意识,何来的智商?这比的只是哪个模型训练数据更完善,哪个模型对自然语言的处理更优异。
    dtla
        42
    dtla  
    OP
       306 天前
    @yohole 你说的我赞同,但是经过我这几天的使用下来,我的确感觉这道题可以检测 ai 模型的好坏。因为我在测试之前就隐约感觉到哪个模型回答更符合我想要的答案。



    @xuanbg
    @kneo
    @zhilincom
    至于这道题,error 的理解从人的角度一眼看过来,基本等同于 exception ,但是一个好的 AI 能够识别到问的是 java 特有的 error 类(因为前文已经说过了,这是一个 java interview 。如果一个 AI 能够识别这不是广义上的 error ,而是 java 特有的狭义的 error ,从另外一个角度也可以说明这个模型更符合预期(提示词相同,一遍的情况下)。
    dtla
        43
    dtla  
    OP
       306 天前
    @xuanbg 单独回复一下你这一条。

    你说的没有错,但是 AI 判定有两个标准,一个是单词回复正确率,和提示后回复的正确率。在这道题上,因为前文已经明确暗示这是一个 java interview 的情景下,这个 error 自然问的是 java 特有的 error 类而非广义的 error 。

    即便各个模型在后续的提示能回答正确,但是单次就能正确的模型显然要比通过提示后正确的模型要更好。



    @qinxi 还想回复你一下的是,如果这道题真的毫无意义,那么各个 AI 不会在你使用提示词后而更改答案,并且这个更改后的答案几乎各大 AI 完全一致,也符合面试官的要求。这个要求是如何处理 java 出现的 error 类错误,而非广义上的 error 错误。
    liprais
        44
    liprais  
       306 天前
    @Tabjy 你就回复了三次就把鸡鸡掏出来了,redhat 果然老印当道了,这非常 IBM
    CyrilYu
        45
    CyrilYu  
       306 天前
    @wallriding 一看你就是没在美国工作过,当你看到满篇错误语法的烙印的 manager 给你的任务的时候,还想纠正语法错误,我只能说你闲得慌。就算白人也没几个纠结语法的,真够闲的。
    CyrilYu
        46
    CyrilYu  
       306 天前
    op 这个测试感觉不是很严谨,因为少数时候 gemini 也能回答非 catch 版本,不过不觉得是语料库的不同导致的。
    dtla
        47
    dtla  
    OP
       306 天前
    @CyrilYu 虽然不如“鲁迅和周树人”这个问题判断智商,但至少也能说明一些问题吧
    qinxi
        48
    qinxi  
       306 天前 via iPhone
    @dtla 所以还是因为玩文字游戏导致候选人( AI )回答不符合你预期
    kneo
        49
    kneo  
       306 天前 via Android
    从你的截图看,gpt4 也没理解你说的是 java 里 Error class 。它只是泛泛回答了出现错误该怎么办。你认为它回答的好也许只是幻觉。
    dtla
        50
    dtla  
    OP
       306 天前
    @kneo 不然,你随便用这个问题放在 google 上面搜,搜出来都是 exception handle ,正确的做法就是 gpt 说出的答案,他明显识别了这是 error class 的 error ,否则大可以回答 try-catch 。error 不可恢复,只可以检查,这就是正确做法,而不是错觉。


    @qinxi 这不是文字游戏,这是一个经典的面试题,paypal 家只是把 exception 比较删除了(参见 Grokking The Java Developer Interview ):

    Question 15: Difference between error and exception

    Answer: Error: Errors in a program are irrecoverable, they indicate that something severe has gone wrong in the application and the program gets terminated in case of error occurrence e.g. running out of memory: OutOfMemoryError, making too many recursive calls: StackOverflowError etc.
    dtla
        51
    dtla  
    OP
       306 天前
    @kneo 前面回复,答案没有贴全


    Question 15: Difference between error and exception

    Answer: Error: Errors in a program are irrecoverable, they indicate that something severe has gone wrong in the application and the program gets terminated in case of error occurrence e.g. running out of memory: OutOfMemoryError, making too many recursive calls: StackOverflowError etc.

    Exception: Exceptions on the other hand are something that we can recover from by handling them properly e.g.: trying to access a property/method from a null object: NullPointerException, dividing an integer by zero: ArithmeticException etc.
    badmotherfucker
        52
    badmotherfucker  
       306 天前   ❤️ 16
    😰这... 这... 这...

    “只有中国人才这么在意语法。”
    “我在美国十年了”
    “谁在乎 grammar ?跟印度人做过同事吗?”
    “也就你们在国内的人在乎”
    “中文论坛素质真的低。以后发 reddit 了。”
    IividSperm
        53
    IividSperm  
       306 天前
    @badmotherfucker 不是我说,我翻下来也是这个感觉😰
    dtla
        54
    dtla  
    OP
       306 天前
    @badmotherfucker 感谢你单独拧出来,希望让更多人看到,中文论坛讨论的素质有多低(不代表全体楼层)
    CyrilYu
        55
    CyrilYu  
       306 天前
    冷知识:GPT 4 已经放弃中文语料库了,当你用中文问问题的时候,实际查询的是英文资料(说明过什么?逃....
    kneo
        56
    kneo  
       306 天前   ❤️ 2
    @dtla 不同意。你的回复让我更坚信这就是你自己的幻觉。

    这就好像我问一个问题:开发中出现错误怎么办?

    回答:
    1. 阅读错误信息
    2. 找出错误原因
    3. 阅读文档
    4. 修正错误

    这算正确答案?这和 Java 有什么关系?这么答能过技术面试?

    反而是回答了 try catch 的,让我相信它觉得这里的 error 是 Java Runtime 系统中的 Error class 。

    真正有效的回答应该是什么样子?

    1. 如你所愿,明确阐述了 Error 和 Exception 的区别。
    2. 明确举出几种 Error 子类型,介绍一下分别是什么情况,如何处理。比如说 OOM 你需要调整 GC 相关参数对不? NoClassDefFoundError 你需要检查依赖包或者生成的 class ?
    3. 在架构上如何处理 Error ,比如是否需要做日志,是否自动重启应用。

    但凡一个 AI 能够回答出以上三点中的一点,我就能认可它把 error 和 Error class 关联起来了。
    再看下你贴的 GPT 回答,我只能说,确实是幻觉。
    dtla
        57
    dtla  
    OP
       306 天前
    @kneo

    不多说了,0125 模型完美过,看图吧:

    ![]( https://p.ipic.vip/xfd3x4.jpg)


    https://p.ipic.vip/xfd3x4.jpg
    dtla
        58
    dtla  
    OP
       306 天前
    问:You should give me the interview answer directly, without explaining anything unless
    necessary. Your answers are expected to be directly used for a Java interview. Please be
    concise, but your answers should perfectly satisfy the interviewer.

    The question is: How do you deal with the error? should I use try-catch ?


    0125 模型答:

    In Java, it's generally recommended not to use try-catch blocks to handle Errors. Errors are
    used to indicate serious problems that applications should not attempt to catch, as they are
    often related to issues with the Java Virtual Machine or the hardware. Instead, focus should be
    on resolving the underlying problems causing these errors.
    kneo
        59
    kneo  
       306 天前 via Android
    @dtla 这算啥?你原文可没写 should i use try catch 。
    dtla
        60
    dtla  
    OP
       306 天前
    @kneo 加不加是一样的,加了只是会指出 try catch 的错误。不加也识别出 error 是 error ,exception 是 exception 了,我觉得这已经很有说服力了。
    dtla
        61
    dtla  
    OP
       306 天前
    @kneo 因为原本问的是如何 handle error ,gpt 给出了 handle error 而非 handle exception 的方法。这个时候你加一句,能不能使用 try -catch ,gpt 说不能,我觉得这已经相当有说服力了吧。
    kneo
        62
    kneo  
       306 天前 via Android
    @dtla 我的评估应该很清晰,三条中满足一条,就认为 AI 理解了你原文的“error”。

    你后来加了 try catch ,歧义消除 90%,我觉得大部分 AI 都能成功。结果显示 gpt4 能回答满足一。没问题。

    但是你原文可没加 try catch ,并且原文截图内容显示 gpt4 的回答不满足我提的三条要求中任意一条,我认为它明显失败了。但你至少在原文里依旧认为它做的很好。我认为是幻觉。
    dtla
        63
    dtla  
    OP
       306 天前
    @kneo 很简单,经过我的测试,其余模型全部失败了,加上 try catch 也没用。这个能说明问题了吧,不信你可以去试试。

    其余模型回答:Yes, you should use try-catch!
    CyrilYu
        64
    CyrilYu  
       306 天前
    官网的 chatgpt 没过测试啊,我这边显示还是"使用 try-catch",难道 0125 模型独一党?有点不可置信
    CyrilYu
        65
    CyrilYu  
       306 天前
    op 你确定你图片截图的没有上下文吗?这个问题你是对的,try catch 肯定不应该被使用,但是 0125 能识别这个问题我有点不信啊,你是不是有上下文联系?
    dtla
        66
    dtla  
    OP
       306 天前
    @CyrilYu 没有上下文,经过我的测试,0125 模型 80%的情况也 fail 了,20%能识别出来。其余模型是 100% fail 。
    dtla
        67
    dtla  
    OP
       306 天前
    现在看到了吧,前面说这道题无意义的人,真的是可笑。还有一个自称 openjdk 的 author ,回答应该是捕获 error ,真的是笑掉大牙了。
    tamer
        68
    tamer  
       306 天前 via Android   ❤️ 3
    这能发展到语法对喷我没想到。。这里大多数都是撑死看个文档顶天的人,口语估计连个 how are you 都不会回答。
    你要是把中文内容放到翻译里来回翻一下,给人一种中文不熟练的感觉,评论就是另一种光景了。

    以前有看到某个视频下面的评论里,说作者口语有口音,不地道,然后被其他人指出作者本来就是母语者。莫名搞笑,也可悲。

    没必要鸡同鸭讲的。每天看看水深火热板块图一乐挺好的
    iseki
        69
    iseki  
       306 天前
    不是,如果你强调的是 java.lang.Error 难道不应该至少大写 Error 吗?作为面试题,你把原题中与 java.lang.Exception 的比较删除,这就已经丢失了很多信息,作为一个人类我尚且不能给出一个直接的回答,指望 ChatGPT 就有点困难了。

    此外 Error 是否建议捕获要看场景。如果我加一个读取大文件的前提呢?还不建议捕获 Error 吗?
    dtla
        70
    dtla  
    OP
       306 天前 via iPhone
    @iseki 你说的大致没错,但是 0125 模型已经给出完美的答案了。

    本帖没有讨论 java ,讨论的是 ai 模型的强弱。你都没有看出来的事情,AI 有的看出来了,有的没看出来,不正是可以说明 AI 的强弱吗?
    dtla
        71
    dtla  
    OP
       306 天前 via iPhone
    @iseki 另外,在 Grokking 这本书上面,error 是小写不是大写,
    iseki
        72
    iseki  
       306 天前   ❤️ 1
    @dtla Gemini 就不说了,再次看了下这几个 AI 的回答,我是觉得 「官网 GPT 4 」「 1124 模型」 这两个都算是不错。
    iseki
        73
    iseki  
       306 天前
    @dtla 我是觉得,看见 error 就当作 java.lang.Error 这正是弱的表现,即使语境限制在 Java 面试中
    iseki
        74
    iseki  
       306 天前
    唔,看到了你在最后的 1124 那个消息里加入了 try-catch 的提示··· emmm 这也不算多聪明吧
    dtla
        75
    dtla  
    OP
       306 天前 via iPhone   ❤️ 1
    @iseki 我赞同你说的,但对 ai 模型比较来说,我觉得是有意义的
    dtla
        76
    dtla  
    OP
       306 天前 via iPhone
    @iseki 但就算加了 try catch ,其余模型过不了
    iseki
        77
    iseki  
       306 天前
    从这一点上说,GPT 4 确实秒了 Gemini 那个···那玩意儿甚至不如一个搜索引擎 @dtla
    hardto
        78
    hardto  
       306 天前
    赞同,以后模型效果会越来越好,普通程序员需求会减弱,估计普通的 crud 程序员也不好找工作了吧。
    ll11l1lIIlIl1llI
        79
    ll11l1lIIlIl1llI  
       306 天前
    您好!我将您提示中的问题修改为了 "What will you do if there's an error in your program?" 询问了官网的 GPT 3.5 ,并且 GPT 3.5 没有提到 try catch 。可能你的提示并不是比较恰当。不过 AI 的自然语言理解能力可能也算智力。
    https://ibb.co/HnXWqbX
    potatowish
        80
    potatowish  
       306 天前 via iPhone
    Gemini
    potatowish
        81
    potatowish  
       306 天前 via iPhone
    测试了
    potatowish
        82
    potatowish  
       306 天前 via iPhone
    测试了下,文心一言 3.5 回答这个问题和 GPT4 相似,但是谷歌家的 Gemini Pro 、Ultra 版本上来就是 try catch ,之前在使用中就发现 Gemini 就像是个套了个搜索引擎的壳,理解和分析能力很差
    Cynicsss
        83
    Cynicsss  
       305 天前
    google 的 Gemini 目前还处于诈骗水平,就看 gemini1.5 了
    quake0day
        84
    quake0day  
       305 天前
    @Alias4ck 其实只要稍微把问题具体化一点,GPT4 就完全能够答对你的第一道题。你可以说现阶段 AI 能力还不够,但是我认为这个缺点是可以通过提更好的问题来解决的:

    The following question is encoded in Base64. Please decode it, print it out, think about how to answer this question, and then encode your answer back into Base64. Output the encoded string: V2hhdCBpcyBvbmUgeWVhciBhZnRlciB3aGVuIFByZXNpZGVudCBnZW9yZ2Ugd2FzaGluZ3RvbiBib3JuPw==
    quake0day
        85
    quake0day  
       305 天前
    如果怕论坛的语法警察,怕出现语法错误,可以使用我的 GPTs, GrammarFixer:

    https://chat.openai.com/g/g-AzHmIQPE8-grammarfixer

    把你不确定有没有语法问题的句子粘贴进去,就可以自动给你修改好语法错误并修改成最地道的英文 :)
    Adelell
        86
    Adelell  
       305 天前 via iPhone
    PayPal 技术连支付宝都不如,能出什么好面试题。
    Adelell
        87
    Adelell  
       305 天前 via iPhone
    检测 AI 能力只有图灵测试,其他都没意义。
    dtla
        88
    dtla  
    OP
       305 天前 via iPhone
    @quake0day 太奢侈了,gpts 用的是 gpt 4 的 count 。我的建议是用 bob 类似的划词软件,然后用 3.5 的 api 。目前修改语法+润色,非常完美

    对于 grammar 这一类,gpt 3.5 足够了。
    CyrilYu
        89
    CyrilYu  
       305 天前
    刚刚又把帖子重新读了一遍,包括 OP 在内都没有发现问题所在,还有这位“Open jdk"的 author ,我觉得你们英语也太差了。

    这道题本身就没有问题,the error 本身从语法角度就是对的,另外,之所以这里用 the 定冠词,是因为这里的 Error 特指的是 Error 类的 error 而不是普通 error 。

    从 op 自称十年在美国到"JDK 大神"三年英语国家工作经历,你们英语都是三脚猫吗?这道题的问题本身就是正确的。

    让我 at 一下帖子里讨论语法的人,英语不好就不要讨论语法,讨论问题本身吧。指正语法的,没有看出来语法本身是对的,辩护的也没发现语法其实没有问题,笑死我了。这个帖子真的是看边人生百态

    @dtla @Tabjy @wallriding

    其余相关人员:
    @qinxi
    @badmotherfucker
    @tamer
    CyrilYu
        90
    CyrilYu  
       305 天前
    > "the" error ?啥 error 啊?定冠词本身不能单独使用,也没有词义,前文没有提到具体情况就算丢给人类来说也是一头雾水。 @Tabjy

    > error 前的 the 暴露了你的英语水平 @wallriding

    > 不是我写的,paypal 面经 excel 表上的。去质疑印度人吧 @dtla

    三位惊世骇俗的言论,一个十年留美,一个自称三年英语国家经验的"openjdk",还有一位上来就指正英语语法的大神,你们的回复好好笑
    CyrilYu
        91
    CyrilYu  
       305 天前
    By the way, just search on Google:

    The error in java is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.

    所以楼里面你们争论的点到底是什么? the error 特指的就是 error 类,没一个人说到点子上还怪题出的有问题。
    wallriding
        92
    wallriding  
       305 天前
    @CyrilYu #89 我从来就没说语法有问题。我说的是:无论加不加 the ,语法上都是正确的;但是表达的意思不一样。
    wallriding
        93
    wallriding  
       305 天前   ❤️ 3
    @CyrilYu #91

    你“引用”的这句话,出处在这: https://docs.oracle.com/javase%2F7%2Fdocs%2Fapi%2F%2F/java/lang/Error.html

    原文:An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.

    你复制粘贴的时候怎么把定冠词从"An"改成了"The"?
    dtla
        94
    dtla  
    OP
       305 天前
    @CyrilYu 我英语说的很多,写的很少,所以我对语法不在行,谁质疑我,我就让他去找出题者本身。是这位自称 @Tabjy openjdk 的 author 先开始质疑语法的,然后 @wallriding 说我英语垃圾。我也没有反驳我英语语法不好的事实,但我自认口语和 native speaker 没什么两样。
    emptyiscolor
        95
    emptyiscolor  
       305 天前   ❤️ 2
    LLM 本来就应该按照按照口语化自然表达的方式理解,所谓的 prompt engineering 只是现阶段大模型对自然语言理解局限性的产物。我在美国生活这么多年,不认为质疑 LZ 提问中所谓的语法问题有任何意义。杠所谓的语法问题也太无聊了
    murmur
        96
    murmur  
       305 天前
    @dtla 看样子美国程序员也应该减员增效了,天天玩这种文字游戏
    Greendays
        97
    Greendays  
       305 天前
    好好让 AI 体验一下人类的考试
    geelaw
        98
    geelaw  
       305 天前 via iPhone   ❤️ 2
    How do you deal with the error?
    How do you deal with error?
    How do you deal with the Error?
    How do you deal with Error?

    四句话意思不同:1 的意思是“如何处理那个错误”; 2 是“如何处理错误”,但 2 听起来不悦耳,应该用复数 errors 或者加不定冠词 an ; 3 的意思是“如何处理那个特定的 Error (对象或者某个子类)”; 4 的意思是“如何处理 Error (一般地,该类和子类和对象)”。在 Error 上可以用复数,3 的意思会变成特定的几个 Error/它的子类/对象,4 的意思无变化。

    4 对应楼主希望提问的八股问题,不需要冠词是因为 Error 是所指的名字(等同于 John Doe 不需要加冠词)。1 、3 单独作为一句话出现的时候是无意义的,因为没有上下文表明是哪个错误/Error 。

    在口语里面无法区分 Error 和 error ,所以需要额外说明,例如 the Error class 或者 programming errors 。即使是在 Java 的语境里,在没有其他的上下文时,发音 error 指 Error (类)还是(一般意义的)错误依然是不明确的。
    qinxi
        99
    qinxi  
       305 天前
    @CyrilYu #89 哪个字看到的我在讨论语法?
    nothingistrue
        100
    nothingistrue  
       305 天前
    英文太长慢慢看,先吐为快。

    先来看看基础 API 说明 https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html ( 8 迄今,并未在 try-catch 上有所变化)。

    API 上,catch 的是 Throwable ,不是 Exception ,Error 可以 catch 。Exception 和 Error 确实不一样,但不一样的是在何种时机 catch ,以及 catch 之后如何处理,不是能不能 catch 。智商不行就不要秀。

    再说,跟 AI 比智商?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2721 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 12:21 · PVG 20:21 · LAX 04:21 · JFK 07:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.