一房地产数据服务初创公司的面经 https://www.isharkfly.com/t/topic/13441

This commit is contained in:
YuCheng Hu 2024-04-28 16:40:36 -04:00
parent 53f601caec
commit ebba071c4c
1 changed files with 10 additions and 16 deletions

View File

@ -1,7 +1,4 @@
# 一房地产数据服务初创公司的面经
> 🔔 参与讨论https://www.isharkfly.com/t/topic/13441
北美一有关房地产开发和服务的初创公司面经。
因为新冠疫情的原因,很多面试都已经放到网络上了。在北美进行面试之前,还是建议所有打算从事 IT 的童鞋对基础概念都要熟悉一点点。
@ -17,26 +14,21 @@
其实这也能够看出来面试公司是否人性化的
## hashtable 是如何实现的
这个题目还是有点意思的。
很多人都知道 HashTable 都知道 HashTable 或者 HashMap 是用来存储 K-V 的。但是至于 HashTable
是如何实现的,可能有很多人不知道。或者就算知道可能也不是非常容易的表述清楚。
很多人都知道 HashTable 都知道 HashTable 或者 HashMap 是用来存储 K-V 的。但是至于 HashTable 是如何实现的,可能有很多人不知道。或者就算知道可能也不是非常容易的表述清楚。
这个题目的目的就是要求你设计一个 HashTable。在这个题目中需要搞清楚几个知识点K 是怎么存储的V 又是怎么存储的,其中有一个非常重要的概念就是
K 的哈希Hash
这个题目的目的就是要求你设计一个 HashTable。在这个题目中需要搞清楚几个知识点K 是怎么存储的V 又是怎么存储的,其中有一个非常重要的概念就是 K 的哈希Hash
有关什么是 Hash 和 Java 中的哈希函数,请参考文章 https://www.isharkfly.com/t/java-hashcode/13447/2 中的内容。
准确的来说进行 Hash 就是对对象进行或者数据进行散列。当你拿到散列的整形数据后,你将会考虑如何将这一个整形数据存储到一个数组中,这个就是你需要的
Hash 表。通常的算法可能就是去模了。
准确的来说进行 Hash 就是对对象进行或者数据进行散列。当你拿到散列的整形数据后,你将会考虑如何将这一个整形数据存储到一个数组中,这个就是你需要的 Hash 表。通常的算法可能就是去模了。
当然假设你有 10 个数据,但是数组正好也是 10 个,那么最好的算法就是每一个数据存储在一个空间中。
当然实际情况可能就不是这样的了,假设你有 11 个数据,但是存储空间只有 10 个,那么就肯定有 2
个数据存储在同一个位置。这个时候你就可以使用链表来将存储在同一个空间的数据链下去。
当然实际情况可能就不是这样的了,假设你有 11 个数据,但是存储空间只有 10 个,那么就肯定有 2 个数据存储在同一个位置。这个时候你就可以使用链表来将存储在同一个空间的数据链下去。
![500px-Hash_table_5_0_1_1_1_1_0_LL.svg|500x250](https://com-ossez-www-discourse.s3.dualstack.us-east-2.amazonaws.com/discourse-uploads/original/2X/8/82069d264157d8363a6792fa19e027b09a505f34.png)
![](https://com-ossez-www-discourse.s3.dualstack.us-east-2.amazonaws.com/discourse-uploads/original/2X/8/82069d264157d8363a6792fa19e027b09a505f34.png)
如上图显示的就是一个典型的 HashTable 的结构。
@ -52,8 +44,8 @@ Hash 表。通常的算法可能就是去模了。
当然,还是建议在面试的时候复习下 HashTable 和 Hashmap 的关系,如果你真想啃一下的话,不妨去看看源代码。
## 100 以内素数编程,在线写
## 100 以内素数编程,在线写
题目要求非常简单,就是将 100 以内的素数打印出来就可以了。
这个题目的难度并不大。但是如果你没有遇到过或者没有刷过这个题目的话,可能就会被搞懵逼了。
@ -67,7 +59,6 @@ Hash 表。通常的算法可能就是去模了。
有关素数的算法中间和代码请参考https://www.isharkfly.com/t/prime-numbers-from-1-to-100-100/13450 中的内容。
## 面试总结
这次面试时今年开始打算换工作以来的第一次面试,因此本身就是当成练手的性质了。
很多工作过比较长时间的人都会知道,在找工作之前,需要进行突击的算法,数据结构,基础概念的巩固。因为在实际工作中,这些东西没有人会用到,也没有人会无聊到去刷这些东西。
@ -80,4 +71,7 @@ Hash 表。通常的算法可能就是去模了。
因为不是非常理想的状态来进行面试的,那么这个结果就可想而知了。
当然这 2 个题目用于巩固下基础还是非常不错的。
当然这 2 个题目用于巩固下基础还是非常不错的。
---
https://www.isharkfly.com/t/topic/13441