Java 是一种很棒的编码面试语言——前提是你装备精良!根据我的经验,我觉得在你飞跃之前专注于这三件事是至关重要的——
1. 标准 Java 内置程序与框架细节
我们在这里谈论编码面试。什么是编码INTERV一世EWS意味着呢?——看你能不能把业务逻辑正确流畅的翻译成代码,产生想要的结果!因此,扎实基本结构和内置插件是关键。Spring 或 Hibernate 等特定于框架的深入知识非常有用——也许对于其他一些关于 Java 的对话式面试,但这对于打开共享编辑器或在白板上编写代码的编码面试肯定没有帮助!
您应该能熟练使用以下标准 Java 类和方法 —
地图- HashMap、TreeMap、LinkedHashMap。您需要了解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() 方法吗?如果你想知道这是一个假设的、不相关的还是想象中的问题——我在硅谷一家顶级科技公司的电话屏幕上对此进行了测试!
相关文章
猜你喜欢
- 2023年中国十大系统软件外包公司排名榜及综合实力分析 2025-04-08
- 汽车控制器底层软件BOOTLOADER开发经历全解析 2025-04-08
- 软件开发流程总览:从需求分析到上线部署的完整指南 2025-04-08
- 驻马店企业OA协同办公系统价格解析及选购指南 2025-04-08
- 手机模拟来电软件推荐:5款实用工具帮你轻松应对各种场合 2025-04-08
- 程序员必知!涨薪必备的8款超好用开发工具 2025-04-08
- 初中毕业的女生学哪些技术将来会更有前途? 2025-04-08
- 海曙十三五规划解读:未来都市经济发展新体系将如何构建? 2025-04-08
- 全面解析:如何进行前端文档编写 2025-04-08
- 建筑工程机械与设备经营展厅多媒体中控系统设计装修全解析 2025-04-08