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() 方法吗?如果你想知道这是一个假设的、不相关的还是想象中的问题——我在硅谷一家顶级科技公司的电话屏幕上对此进行了测试!
七爪网
七爪网源码交易平台
相关文章
猜你喜欢
- Vivado那些事儿:ZYNQ开发基本流程详解与步骤指南 2025-01-10
- 山东高速股份有限公司回复上交所关于收购控股股东资产信息披露问询函的公告 2025-01-10
- 绍兴专业软件定制开发服务,提供高效管理软件与手机App开发解决方案 2025-01-10
- 湖南五年制IT游戏软件开发专业是否有补贴?详细解析 2025-01-10
- 经传软件:专业股票分析工具,助您精准把握投资机会 2025-01-10
- 广东省市场监督管理局2021年11月政府采购意向公告:冷藏冷冻食品质量安全追溯系统升级开发项目 2025-01-10
- 直销系统模式解析及软件开发指南:全面了解直销系统运作与开发流程 2025-01-10
- 天台直销软件开发生产过程详解:从需求分析到上线部署全流程 2025-01-10
- 佛山低空飞跃三部曲:从单打独斗到抱团发展,探索1到N的成长之路 2025-01-10
- 如何撰写app开发项目的财务分析报告:详细步骤与关键要点 2025-01-10