Java 编程面试——需要关注的前 3 件事

        Java 是一种很棒的编码面试语言——前提是你装备精良!根据我的经验,我觉得在你飞跃之前专注于这三件事是至关重要的——

 

1. 标准 Java 内置程序与框架细节

        我们在这里谈论编码面试。什么是编码INTERV一世EWS意味着呢?——看你能不能把业务逻辑正确流畅的翻译成代码,产生想要的结果!因此,扎实基本结构和内置插件是关键。Spring 或 Hibernate 等特定于框架的深入知识非常有用——也许对于其他一些关于 Java 的对话式面试,但这对于打开共享编辑器或在白板上编写代码的编码面试肯定没有帮助!

您应该能熟练使用以下标准 Java 类和方法 —

  • 地图HashMapTreeMapLinkedHashMap。您需要了解get()、put()、containsKey()等标准方法。
  • 列表ArrayList中是最常见的。add()、size()、get()是至少需要知道的方法。
  • 字符串-的charAt()的indexOf(),斯普利特(),长度()的toString(),equals()方法是你应该知道的人。StringBuilder 的 append()也是一个需要了解的重要方法。
  • 数组——. length(这不是一个方法!),sort()是常用的东西。
  • 集合add() 和 contains() 分别用于添加和检查集合中的成员资格,了解这些非常有用。

        如果你不了解这些,你可能不应该说 Java 是你最强的编码语言!(这是一种标准做法,公司在设置编码面试之前要求这样做)。

2. 标准编程操作工具箱

        仅仅知道标准的类和方法并没有帮助。您还需要能够快速实施标准的编程操作以获得所需的结果。您应该能够轻松地执行以下操作——

  • 根据给定条件比较或排序自定义对象——这可能涉及使用 Comparator 接口甚至 Comparable,正如某些人可能喜欢的那样。例如“在列表中查找前 K 个常用词”——你知道像 HashMap 和 TreeMap 这样的 Map 类,并且可以流畅地编写循环。但是您不知道如何根据自定义条件比较 2 个字符串,并且代码无法运行!——这些都是语言选择上的小漏洞(这里是Java),可以让你无法破解面试!
  • 清理自定义类——您通常必须从头开始快速创建自定义类来为某些事物或行为建模。确保您可以在遵循类设计的最佳实践的同时做到这一点——描述性名称和大小写(是的!命名展示了你每天如何在生产中编写代码!)、干净的代码、单一职责的原则等。如果你给出了草率的名字,写简陋的方法——它不会给你对语言的舒适程度留下好印象。
  • 迭代——您应该熟悉所有标准循环类型(for、foreach、while、do-while 等)。您还应该习惯于迭代标准结构(如 HashMap)。您能否快速迭代 HashMap 的所有键(仅键)、值(仅值)或条目(键值对)?如果答案是否定的——我想我们在你的准备工作中发现了一个漏洞!这同样适用于其他标准结构,如数组、字符串、列表等。

3. 数据结构和算法知识

        我不会在这里扯出太多名字。你至少需要了解以下数据结构——

  • 链表
  • 二叉树
  • 哈希表(这非常重要)!

        对于算法,像二分搜索广度优先搜索(BFS)、深度优先搜索(DFS)这样的基本算法就足够了。对于大多数公司来说,您不需要超越这一点。

        最后但并非最不重要的 -能够找到代码的时间和空间复杂度至关重要!

        如果您可以自己实现这些数据结构中的每一个,那么您将获得奖励!你能在 Java 中实现一个自定义的 HashTable 类,从头开始实现 put() 和 get() 方法吗?如果你想知道这是一个假设的、不相关的还是想象中的问题——我在硅谷一家顶级科技公司的电话屏幕上对此进行了测试!

七爪网7claw.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值