CodeGym/Java 博客/随机的/面试中经常被问到的 Tricky Java 问题
John Squirrels
第 41 级
San Francisco

面试中经常被问到的 Tricky Java 问题

已在 随机的 群组中发布
个会员
如果您曾经准备过Java 程序员职位的面试或通过了任何认证考试(不一定是关于编程的),那么您可能已经注意到那里提出的问题非常具体。其中许多迫使您考虑语言的设计。有些旨在探索您的知识深度。有些问题看起来比其他任何问题都更像是谜题,而其他问题则涉及语言的细微差别,如果不练习就很难理解。在本文中,开发人员Sarans Sing提出了一些有关 Java 的此类问题。当然有答案。 面试中常见的棘手 Java 问题 - 11. 如果我在 try/catch 块中放入 return 语句或 System.exit() 会发生什么情况? 这是一个非常流行且微妙的 Java 问题。诀窍在于许多程序员认为该finally块始终会执行。return通过在块中放置语句或从块内部try/catch调用,问题对这种信念产生了怀疑。 这个棘手问题的答案是:当一个语句被放入一个块中时,该块将被执行,但当从一个块中被调用时将不会被执行。 2、Java支持多重继承吗? 这是一个非常棘手的问题。面试官经常会问,“如果 C++ 支持直接多重继承,那为什么 Java 不能呢?” 答案_System.exit()try/catchfinallyreturntry/catchSystem.exit()try/catch比看起来要复杂一点,因为 Java 支持多类型继承。毕竟,Java 接口可以扩展其他接口。也就是说,Java 不支持实现的多重继承。 3.如果父类中的方法抛出NullPointerExceptions,是否可以用抛出s的方法重写RuntimeException 这是另一个与重载和覆盖相关的棘手问题。 答案:重写的方法可以安全地抛出 的NullPointerException父类 — RuntimeException,但您不能对 .checked 异常类型做同样的事情Exception4、如何保证N线程访问N资源时不会出现死锁? 如果编写多线程代码不是您的强项,那么您可能真的会被这个问题绊倒。即使对于没有遇到过死锁和竞争条件的有经验的程序员来说,这也可能很困难。 这里的全部技巧是顺序:您可以通过以与获取资源相反的顺序释放资源来防止死锁。 5.Java中的类和类有什么区别?StringBufferStringBuilder 这是一个经典的 Java 语言问题,一些开发人员发现它很棘手,而另一些开发人员则认为它非常简单。该类StringBuilder出现在 JDK 1.5 中。这些类之间的唯一区别是StringBuffer的方法,如length()capacity()append(),是同步的,而相应的方法在StringBuilder不是。这一根本区别意味着字符串连接 withStringBuilder比 with更快StringBufferStringBuffer实际上,不推荐 使用,因为字符串连接 99% 的时间是在同一个线程上执行的。6. 计算表达式 1.0/0.0 的结果是什么?它会产生异常或编译错误吗? 这是关于课程的另一个棘手问题。Java 开发人员知道基本双精度数据类型和类的存在,但是在执行浮点运算时,他们没有足够注意, , ,以及管理相关算术计算的规则。 这个问题的答案很简单:一个面试中常见的棘手 Java 问题 - 2DoubleDoubleDouble.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYNaN-0.0ArithmeticException不会被抛出;表达式的计算结果为Double.POSITIVE_INFINITY7. 如果您尝试将密钥插入到HashMap已经包含该密钥的 a 中,会发生什么情况? 这个棘手的问题是另一个常见问题的一部分:HashMap在 Java 中如何工作?HashMap是有关 Java 的令人困惑和棘手问题的流行来源。 答案如下:如果您尝试在 a 中重新插入一个键HashMap,旧键将被替换,因为该类HashMap不允许重复键。并且相同的密钥将获得相同的哈希码,这意味着它将最终位于哈希桶中的相同位置。基于Quora资料
评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论