diff --git a/work/interview/it-job-hunting-2019.md b/work/interview/2019/it-job-hunting-2019.md similarity index 100% rename from work/interview/it-job-hunting-2019.md rename to work/interview/2019/it-job-hunting-2019.md diff --git a/work/interview/2021/north-america-atlanta-financial-services.md b/work/interview/2021/north-america-atlanta-financial-services.md new file mode 100644 index 0000000..6451331 --- /dev/null +++ b/work/interview/2021/north-america-atlanta-financial-services.md @@ -0,0 +1,48 @@ +# 北美亚特兰大一金融服务公司面试总结 + +> 🔔 参与讨论:https://www.isharkfly.com/t/topic/13453 + +这一金融服务公司的总部不在美国,在荷兰的阿姆斯特丹。 + +公司的主要业务是为中小金融机构提供技术方面的业务扩展,包括 API 的服务和在这个服务上与其他公司建立的数据通道。 + +## 面试结果 + +非常不幸的是这家公司在第一轮面试完成后就明确的表示不再进行下一轮的面试的。 + +但公司面试的同仁还是非常客气的给出了对我这个面试人的总结。整体总结情况就是对本人的评价还是非常不错,有热情也比较符合团队需求,其他经验也比较丰富。 + +重点是我没有 Spring Reactive 编程的经验,有部分的 Authentication 相关的工作经验。 + +从后面的总结来看 Spring Reactive 是硬伤,因为没有这个 Spring Reactive 的工作经验可能没有办法适应他们的产品需求。 + +如果是因为这个原因被拒,那么也是情有可原也不冤枉。 + +随后也就搜索了下有关 Spring Reactive 的知识。 + +Reactor 框架是 Pivotal 基于 Reactive Programming 思想实现的。它符合 Reactive Streams 规范 (Reactive Streams 是由 +Netflix、TypeSafe、Pivotal 等公司发起的) 的一项技术。其名字有 反应堆 之意,反映了其背后的强大的 性能。 + +Reactive Programming,中文称 反应式编程。Reactive Programming 是一种 非阻塞、事件驱动数据流 的开发方案,使用 函数式编程 +的概念来操作数据流,系统中某部分的数据变动后会自动更新其他部分,而且成本极低。 + +Spring 框架中包含的原始 Web 框架 Spring Web MVC 是专门为 Servlet API 和 Servlet 容器构建的。Reactive 堆栈 Web 框架 Spring +WebFlux 在更高版本 5.0 中添加。它是完全非阻塞的,支持Reactive Streams背压,并在 Netty,Undertow 和 Servlet 3.1 容器等服务器上运行。 + +![2021-04-30_1-18-42|647x500](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/c/caadcf01e1e85744dea281befbd9a39c6a9d3d3a.png) + +简单来说,在 Spring 中可能需要更多的了解 WebFlux 框架。 + +如何拿 Reactive 和传统的 MVC 框架来进行下对比的话,大致的区别如上图所示,可以认为 Reactive 是相对独立于 MVC +的一种框架和调用栈,需要有时间的时候详细了解下。 + +## 面试总结 + +这次面试的整体情况还是良好的。 + +因为没有 Spring Reactive 的相关知识,因此被拒也在情理之中。这个也不能说明有知识缺陷,可能是在平时工作的项目中没有这方面的需求,因此也没有掌握相关的内容。 + +唯一需要补充的就是了解相关概念,并且在有空闲的时候进行一些充电即可。 + +公司面试的过程中没有涉及到算法,在线编程等内容,主要是聊天,聊天的过程还是非常愉快的,整体评价这次面试还是非常轻松和友好的,只是被拒后小郁闷了 +3 分钟。 \ No newline at end of file diff --git a/work/interview/2021/north-america-search-engines.md b/work/interview/2021/north-america-search-engines.md new file mode 100644 index 0000000..0b906c6 --- /dev/null +++ b/work/interview/2021/north-america-search-engines.md @@ -0,0 +1,113 @@ +# 北美一工作搜索引擎公司技术岗面经 + +> 🔔 参与讨论:https://www.isharkfly.com/t/topic/13451 + +公司名称就不说了,基本上很多人都会用到的一个在北美地区比较流行找工作时候使用的搜索引擎。 + +这次面试的岗位是技术岗加部分的管理岗位。就目前来说已经完成第二步了,但是感觉不是非常好,其实主要还是在线写代码这部分。 + +下面对这次面试的过程和经历进行一些总结。 + +## 电话面试 + +当你投了简历后,公司发现可能会比较符合他们的要求,通常公司都会安排一个招聘人员对你进行电话面试。 + +电话面试通常比较简单,基本上聊一下你过去做过的项目,你当前的职业情况是什么的,为什么想到为离开现在的公司等等。 + +这个套路基本上所有的电话面试都会遇到,因此不需要担心,你就把你准备好的说辞重复一遍就好了,当然可以针对公司的一些主要业务的不同来进行调整。 + +这家公司的电话面试在后半部分可能会问一些基础的 Java 的相关内容,在这次面试中,我被问到了下面的一些问题: + +* Hashmap 和 HashTable 有什么不同 +* 线程安全是什么 +* 重载和重写有什么不同 +* Big O 是什么 + +等上面几个问题,通常来说这些问题都比较简单,都是概念性的一些问题,你需要对基础概念有所了解,在这个阶段,一般来说都不太会问到具体算法的问题。有些公司喜欢问时间复杂度和空间复杂的以确保你对算法有所了解。 + +但是在实际的过程中,绝大部分人都在完成功能需求,真正有机会考虑复杂度的情况不多。但没有办法,面试的人有时候就喜欢搞这些东西。所以建议所有童鞋还是要复习下这方面的内容。 + +## 1 小时视频面试 + +在完成电话面试后,如果他们觉得你还不错,可能就会安排下一步的技术面试的。 + +通常这部分的面试时最闹心的也是最讨厌的,因为你永远不知道他们会出什么算法题,同时你也不知道他们会不会让你用你自己喜欢的 +IDE。 + +个人感觉在这部分的发挥不是非常好,因此感觉基本上应该是没有第三轮的面试了。应该没有多久就会收到一封非常礼貌的拒绝邮件了。 + +但不管怎么样,我还是凭记忆写一些遇到的问题供大家参考下。 + +这 1 小时的技术面试分 2 部分,下面分别描述。 + +### 设计分析和概念解释 + +相对来说这家公司还是比较人性化,他们在面试的时候提出了 5 个分类让你选,这 5 个分类具体不记得了,大致应该是系统性能分析,面向对象,测试,开发流程等。 + +我选的是系统分析和面向对象。 + +在系统分析部分,他们给出了服务器上一个内存使用的图片,图片上面 CPU 使用率没有怎么变化,但是内存使用一直在增加。问题是,能通过上面的图片进行一些什么分析。 + +如果是 Java 的话很有可能就是内存泄漏或者线程问题,这个时候你可以给出一个分析思路,通常就是查看日志,Dump 线程池子,检查 HTTP +访问量等等常规方法,照着忽悠就行了。 + +面向对象部分的问题就比较多了,但是基本上也就是一些基本的概念,依赖注入是什么,怎么注入的,控制反转又是什么,继承关系,类和抽象类,实现 +等等。 + +基本上都是 Java 面试时候通常使用的概念,如果你对这些内容都不太熟悉或者忘记的话,那么可能就需要好好补一下了。 + +这些概念在面试的时候经常会被问到。 + +在完成后上面的问题后就是很多人都非常头疼的在线写代码了。 + +我问了可以使用自己的 IDE 吗?回答是不可以,因为他们说是保持对其他面试人员的公平,因为有时候使用自己的 +IDE,你可以导入很多你自己的类。当听到这里的时候脑袋上的乌鸦就飞过了。 + +哎,摆着现成 StringUtils 不用非要傻乎乎的从定义 Char 开始用,只能说脑袋有病而且是病得不轻。但是也没有办法,也就硬着头皮上吧。 + +问的问题我已经发到 [A “word-wrap” functionality(一个字符串包裹函数)](https://www.isharkfly.com/t/a-word-wrap-functionality/13452) +上面了。 + +有关问题的具体解答和点评,请访问上面的链接进行查看吧。 + +这里只说说当时的感受,因为有时间限制,所以你需要尽快理解题目的意思,我尝试用了 StringUtils ,但是在线编译器不让使用。 + +这个编译器可以让你使用 List,但是有关 List 的方法提示反应很慢,经常提示不出来。 + +在现场做题的时候没有怎么想明白,想到的就是先获得字符的数组,然后获得第一个单词,然后添加 -,然后再获得第二个,然后再添加 - +,在这个过程中有可能会超过给定的长度,因此需要重新开始下一行。因为可以使用列表,所以你可以比较容易的 add 到你的 List 里面。 + +但是这里有很多小问题,比如说在不加 - 的时候,正好长度是给定的长度,所以导致有时候输出的不正确,有时候不应该有 - +的时候确有了 -。 + +在忙活了 40 分钟后终于**没有通过**测试。 + +所以估计这家公司应该是凉凉了。 + +随后在退出面试后,尝试用 IDE 自己写了下,发现如果可以让我用 StringUtils 函数也不是非常复杂。 + +我们可以将获得的字符串中间全部先加上 -。 + +然后按照 - 来进行拆分直到重构的字符串为 NULL,这里你可以使用一个 While 循环来做。 + +可以使用的方法为 removeEnd 和 substring 等。 + +具体的解答和分析,请访问上面链接中有关问题的具体分析即可。 + +## 总结点评 + +这次面试应该是失败的,总结下来就是很多人都不是非常舒服的代码部分。 + +![0_IQNLJLjd5Wh267ei|397x500](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/optimized/2X/8/8acd96a04f78fe9b84da7ef3e8d434999b4225a8_2_397x500.jpeg) + +因为找工作之前很多人都会复习下基本概念,面向对象,和一些基本的数据结构,因此上面的概念部分只要不是特别偏,很多人都不感觉非常不舒服。 + +其实非常不舒服的地方就是在在线写代码部分,因为很多已经工作过的同事在工作的时候基本上不会接触到具体的算法,而且这些算法其实很多也没有太大的意义。 + +但是实际上算法题目非常多,很多都集中在字符串处理上面,通过这次面试,建议还是同学们需要对常用的字符串处理多进行练习。 + +包括有获得字符串长度,获得子字符串,如何拆分,如何获得字符串中的某一个值等等,通常这些能够帮助你更有信心去面对下一步的挑战。 + +其实也没有什么关系了,找工作就是在不断的失败中总结,从工作岗位到开始找工作总是需要有一个热身的部分,大家把每一次失败都当做热身就好了。 + +希望所有人当你有机会面试别人的时候,得饶人处且饶人吧。 \ No newline at end of file diff --git a/work/interview/2021/real-estate-start-up-company.md b/work/interview/2021/real-estate-start-up-company.md new file mode 100644 index 0000000..1fbb864 --- /dev/null +++ b/work/interview/2021/real-estate-start-up-company.md @@ -0,0 +1,83 @@ +# 一房地产数据服务初创公司的面经 + +> 🔔 参与讨论:https://www.isharkfly.com/t/topic/13441 + +北美一有关房地产开发和服务的初创公司面经。 + +因为新冠疫情的原因,很多面试都已经放到网络上了。在北美进行面试之前,还是建议所有打算从事 IT 的童鞋对基础概念都要熟悉一点点。 + +如果你是学习 Java 或者面向对象的话,通常使用的一些框架,云平台(主要是 AWS)都需要有一些了解才好。 + +针对 Java 来说,有关面向对象的概念,包括有什么是依赖注入,什么是反转,什么是组件,继承关系,接口,实现等等,都需要有一些基本的了解。 + +在面试的时候大部分情况都会问到上面的概念。 + +在搞清楚上面的概念后,就会有一些实际的算法了,其实这些实际的算法算不上难。正常人突击下基本上都可以掌握,唯一比较麻烦点的地方就是使用各种在线平台手动直接写。 + +其实这也能够看出来面试公司是否人性化的 + +## hashtable 是如何实现的 + +这个题目还是有点意思的。 + +很多人都知道 HashTable, 都知道 HashTable 或者 HashMap 是用来存储 K-V 的。但是至于 HashTable +是如何实现的,可能有很多人不知道。或者就算知道可能也不是非常容易的表述清楚。 + +这个题目的目的就是要求你设计一个 HashTable。在这个题目中,需要搞清楚几个知识点,K 是怎么存储的,V 又是怎么存储的,其中有一个非常重要的概念就是 +K 的哈希(Hash)。 + +有关什么是 Hash 和 Java 中的哈希函数,请参考文章 https://www.isharkfly.com/t/java-hashcode/13447/2 中的内容。 + +准确的来说进行 Hash 就是对对象进行或者数据进行散列。当你拿到散列的整形数据后,你将会考虑如何将这一个整形数据存储到一个数组中,这个就是你需要的 +Hash 表。通常的算法可能就是去模了。 + +当然假设你有 10 个数据,但是数组正好也是 10 个,那么最好的算法就是每一个数据存储在一个空间中。 + +当然实际情况可能就不是这样的了,假设你有 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) + +如上图显示的就是一个典型的 HashTable 的结构。 + +对一般的面试来说,掌握这么多的内容基本上能够考察你对基本数据结构的了解,以及对 HashTable 的了解。 + +如果还需要了解更多的,有关 HashTable 的负载因子,扩容等等的研究的话,其实已经超出了面试本身的范畴了。 + +正常人如果不是认真复习过,或者没事刷一下的话一般比较难答出来。 + +相信很多人都是使用 HashTable 或者 HashMap,其实很少去了解里面具体的算法和结构,说心里话也真心没有太大必要去了解。 + +在这个时候如果面试官揪着这堆东西不放,或者非要你说明白里面的很多配置。那基本上可以说明给你面试的人有病或者是有点孔乙己的意思了。 + +当然,还是建议在面试的时候复习下 HashTable 和 Hashmap 的关系,如果你真想啃一下的话,不妨去看看源代码。 + +## 100 以内素数编程,在线写 + +题目要求非常简单,就是将 100 以内的素数打印出来就可以了。 + +这个题目的难度并不大。但是如果你没有遇到过或者没有刷过这个题目的话,可能就会被搞懵逼了。 + +这个题目有几个关键点,首先 1 是一个特殊的素数,因此你的循环需要从 2 开始。这个很多时候和我们使用的循环从 0 开始有不同。 + +这个题目能够快速解答的关键就是需要使用定义的**函数来做**,尽量不要在循环里面嵌套循环,因为这样你会很难跳出这个循环,并且循环的起止判断不好判断。 + +了解了这 2 个点以后就可以比较容易的解决这个问题了。 + +有关素数的算法中间和代码,请参考:https://www.isharkfly.com/t/prime-numbers-from-1-to-100-100/13450 中的内容。 + +## 面试总结 + +这次面试时今年开始打算换工作以来的第一次面试,因此本身就是当成练手的性质了。 + +很多工作过比较长时间的人都会知道,在找工作之前,需要进行突击的算法,数据结构,基础概念的巩固。因为在实际工作中,这些东西没有人会用到,也没有人会无聊到去刷这些东西。 + +但是找工作的时候确不得不进行了解了。 + +总结这次面试来说就是准备不充分,基本上没有刷题就上去写了,而且有一段时间没有在记事本上写代码了,因此基本上是被他们搞懵逼了。 + +一上来就弄 HashTable 的算法,这个其实还是有点难度的,如果没有认真复习过一些常用的数据结构的话,肯定是做不出来的。 + +因为不是非常理想的状态来进行面试的,那么这个结果就可想而知了。 + +当然这 2 个题目用于巩固下基础还是非常不错的。 \ No newline at end of file diff --git a/work/interview/_index.md b/work/interview/_index.md index e6b3153..3ef88d6 100644 --- a/work/interview/_index.md +++ b/work/interview/_index.md @@ -33,8 +33,6 @@ * [2021 年一次比较奇葩的 AWS 面试](https://www.ossez.com/t/2021-aws/13788) * [2021 疫情期间美国公司技术岗的面试流程](https://www.ossez.com/t/topic/13463) * [从拒绝到被拒绝](https://www.ossez.com/t/topic/13462) -* [从一个工作到一个工作](https://www.ossez.com/t/topic/13461) -* [北美亚特兰大一金融服务公司面试总结](https://www.ossez.com/t/topic/13453) -* [北美一工作搜索引擎公司技术岗面经](https://www.ossez.com/t/topic/13451) -* [一房地产数据服务初创公司的面经](https://www.ossez.com/t/topic/13441) + + diff --git a/work/interview/_sidebar.md b/work/interview/_sidebar.md index 0819271..b4be206 100644 --- a/work/interview/_sidebar.md +++ b/work/interview/_sidebar.md @@ -1,3 +1,7 @@ +- 2021 + - [北美亚特兰大一金融服务公司面试总结](/work/interview/2021/north-america-atlanta-financial-services.md) + - [北美一工作搜索引擎公司技术岗面经](/work/interview/2021/north-america-search-engines.md) + - [一房地产数据服务初创公司的面经](/work/interview/2021/real-estate-start-up-company.md) - 2019 - - [IT 技术岗位 2019 年北美求职流水账](/work/interview/it-job-hunting-2019.md) + - [IT 技术岗位 2019 年北美求职流水账](/work/interview/2019/it-job-hunting-2019.md) diff --git a/work/workplace/2021/another-job-opportunity.md b/work/workplace/2021/another-job-opportunity.md new file mode 100644 index 0000000..349a822 --- /dev/null +++ b/work/workplace/2021/another-job-opportunity.md @@ -0,0 +1,103 @@ +# 从一个工作到一个工作 + +> 🔔 参与讨论:https://www.isharkfly.com/t/topic/13461 + +在美国所有的雇佣关系都是属于自愿雇佣的,换句话说公司和雇员之间的关系比较简单。 + +简单到,公司可以比较容易的解除雇佣关系,当然个人也可以比较随意的和公司解除雇佣关系。 + +经历过在周一早上开例会的时候,项目组的老大就是说我需要你单独留一下,自己以为还有什么问题需要解决的,随后突然另外一个不认识的人加入会议。 + +你的项目组老大就和你介绍说,这是我们公司 HR 的谁谁谁,当你听到这个介绍后,你应该马上明白会发生什么了吧。 + +通常你的老大就会和你说,我们也不想做这个决定,这对我来说是非常困难的选择,如果你还听不明白的话,那就只能说明你智商有问题了。 + +随后,和你说话的这个人,我估计你也没什么心思听他们 BB 了,唯一的要求就想知道你们补偿我多少钱呀。 + +在这个时候去计较你的贡献,你的东西都是一钱不值的,并且没有任何意义。 + +通常 HR 会在随后告诉你的最后一天是那一天,通常就是当天,你的邮箱和联系方式会在这个会议结束后马上失效,电脑需要上交。废话都登不上去了,不上交干嘛呀,当摆设呀。 + +![HubPage_Layoffs_Layoffs_jnlapk|500x500](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/0/0c38e9a64f1f16ce254c6635fac95ba515ab9336.png) + +其实这个流程就是美国公司 Layoff 员工的标准流程。大公司基本上都会这样去操作,员工也不会被提前通知到。 + +没啥大不了的,又不是世界末日,可能更多的是对你心里的影响。对你心里有多大的影响在于你把这份工作看得有多重要。 + +## 失去工作 + +失去工作可能是很多人都不愿意看到的,尤其是在自己还没有准备好下家的时候被现在的雇主解雇或者因为工作职位的变化而被 Layoff。 + +正是因为经历过所以才会有研究,从来没有想过 HR 中间还有这么多词汇,下面就对一些词过一下,看看你是什么原因,按照从严重程度从高到底的顺序吧。 + +### 自愿解除合同( termination involuntary) + +通常这个的原因就是你已经找到了更好的去处了,并且老子不和你玩了这种提出的辞职。 + +有些人就想是自己创业了,或者我就想自己休息半年,没有时间和你们矫情了。这种情况都是员工自己提出的辞职。通常这种是没有任何补偿的。 + +还有一些情况就是退休呀,或者自己不想做了,提出的离开,都可以属于这种。 + +### 非自愿解除合同( termination involuntary) + +既然有自愿解除合同,那么也就非自愿解除合同。 + +通常这种情况下的解除合同是雇主发起的。最多的情况可能用到的词就是 **layoff** 了。 + +#### 裁员(layoff) + +在这种情况下,公司通常不会直接告诉你被解雇了。一般会用一些比较好看的包装过的词。比如说:RIF – reduction in force (裁员) 。 + +说得挺好听的,其实就是因为你的职位已经不再需要了,或者公司有其他方面的调整,你被裁员了。 + +一般来说这种情况都会多多少少有点补偿的。 + +这种情况是裁员中比较友好的一种情况。公司或者项目不再需要你了,发点遣散费打发你走了就 OK 了。 + +这种情况通常不是雇员自愿提出的辞职,公司养着你也没啥意思,就打发打发你走人吧。 + +这种情况和员工自身的表现无关,也和员工的过失无关,通常都是雇主的经营或者资金的问题,放宽心,休息下也不是坏事。 + +边休息边找工作吧。 + +这种情况唯一不太好的就是对在美国持有 H1-B 工作签证的童鞋。因为你的工作签证可能也会因为你丢了工作而失效,建议你可以和公司商量下终止合同的时间。 + +#### PIP(Performance Improvement Plan) + +这个词看起来高大上吧。 + +残酷的现实总有一个温柔的外表。如果你被 PIP 了,建议你想到的第一件事情就是马上开始找另外的一个工作了。 + +不要想着我要留下来,这个公司福利真好,也许我改进下就会变得更好了。 + +公司要解除雇佣关系,需要找一个高大上的理由,这个就是一个冠冕堂皇的理由。很多人不愿意离开的原因有很多,有些时候是工作签证的关系。 + +有些时候是因为现在公司福利非常好,自己一下子可能还找到这么好的,有些人可能是对工作的不舍。 + +不管是那个原因,这样想就太天真了。 + +PIP 就等于给你几个月的时间缓冲找工作,丢掉幻想,振作起来才是王道。 + +这种解除雇佣关系大部分情况也是没有补偿的。 + +## 下一个工作 + +很多人都说过,在一个岗位工作久了就忘记了自己还能干什么了。 + +有些人也在想是创业还是打工。其实每一个人的选择都是自己的选择,这个都无可厚非,也没有对错可以去判断。 + +以题主多次工作上的转换来看就是不把所有鸡蛋放在同一个篮子里面永远是一个正确的选择。 + +你永远不知道那片云彩是会下雨的,你也永远不知道你需要多长时间丢掉这份工作。 + +本人是做 IT 的,经历过 N 多的面试,很多人在面试别人的时候,在对面也许没有这种感觉,当有一天你自己需要去被面试的时候,你会发现原来的自己是多么的无知和愚蠢。 + +幸运的是,自己总能在一段时间找到一个相对还过得去的下家。但是不是每次都会有这么好的运气的。 + +年龄越来越大,市场的竞争力其实在减弱。 + +在任何时候准备好随时会丢掉工作,随时准备好有自己的一个 Back up,对所有的职场人来说都不是坏事。 + +越年轻,越经历过失业,越不是坏事。要比等自己年纪大了再经历失业要好得多。失业能够让你保持清醒和冷静,不要忘了自己还缺点什么,在一个位置上混吃等死。 + +纪念 2021 年的一次找工作经历。 \ No newline at end of file diff --git a/work/workplace/2021/refuse-to-refuse.md b/work/workplace/2021/refuse-to-refuse.md new file mode 100644 index 0000000..a28abd3 --- /dev/null +++ b/work/workplace/2021/refuse-to-refuse.md @@ -0,0 +1,91 @@ +# 从拒绝到拒绝 + +> 🔔 参与讨论:https://www.isharkfly.com/t/topic/13462 + +什么时候开始有了为自己而工作的想法,什么开始尝试放弃在网络上投简历。 + +2021,新的一轮工作季的开始,你投了太多的简历,太多的邮件,太多的尝试,而到头来收获的却是从拒绝到拒绝。 + +![overcoming-sales-rejection|690x364](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/optimized/2X/2/28f6357c7deca6ae4b744606b2d599c8220e191b_2_690x364.jpeg) + +一天的开始,不停的得到了被拒的消息,通常都是第一轮就被拒了。 + +总想要写点什么,纪念成长的经历还是被打击后的坚强? + +对面试步骤不是非常清楚的话,可以参考: [2021 疫情期间美国公司技术岗的面试流程](https://www.isharkfly.com/t/topic/13463) +文章中的内容。 + +## 物流传感数据公司 + +一般都不会将公司的具体名字写上来,一是怕最后引起不必要的麻烦,只是在这里对公司的行业类型进行一些描述。 + +这个公司是在面试过程的第二步被挂掉的。在招聘人员电话面试完成后,招聘人员一直在强调他只是收集相关信息,然后将数据提交到后台中让项目需要的成员进行选择。 + +基本上来说这个公司的面试就是你自己把你的简历读一遍罢了,从大学毕业将所有的工作都过一遍,看看有没有什么问题。 + +时长差不多 30 分钟,没有什么亮点可以陈述。 + +## 软件咨询公司 + +这个软件咨询公司的面试流程进入到了 Step 3(第三步)了、 + +这个软件咨询公司是在美国的软件咨询公司,提供的是英文的服务。 + +但是不清楚为什么给面试的却是一个华人。这个有点奇怪,在面试的过程中全程使用中文,有时候会夹杂一些英文。非常不好意思的纠正了公司面试的人的发音错误,这个是明显的错误。 + +这个面试还是有点意思的,可以说道说道。 + +面试预订时间是 30 分钟,但是不知道是在那个沟通渠道上出了问题,面试我的人的认为面试时间是 1 小时 30 分钟,但是我一直认为是 +30 分钟。 + +寒暄的时间很短,没有超过 10 分钟,余下的 1 个多小时都在做题,因为我在1 小时后还有会,没有太多的时间去纠结细节。 + +但面试经历还是独一无二的,从来没有遇到过。 + +在面试的头一天,他们发了一个 GitHub 的仓库过来,在仓库中有一个原始设计好的项目,项目结构是标准的 Spring API +设计。功能也不是非常复杂,为了简化,他们没有使用数据库,使用的是写死的数据。 + +在面试前我就看了一眼,了解了下具体需要做的是个什么东西。 + +在面试的时候出问题了,首先对方问我能不能了解到要做的是什么,我说基本上了解了,一个 SpringBoot API,要做的东西结构还比较清晰。 + +随后,下一步就是对方拿了一个完整的 Task 过来,这个 Task 是要求写一个逻辑,这个逻辑就是根据输入的数据到 API 运行后返回需要的结果。 + +输入数据格式没有定义,算法不复杂,但是有点内容,后台数据结构有,但我没有时间仔细看。 + +在这里,和面试的人产生了不少的冲突: + +* 他希望是写一个测试驱动,通过先写测试然后再写逻辑,我是想先写逻辑,再写测试。 +* 逻辑层的定义,我希望在逻辑层上写子函数,对方希望我先想明白再决定。 +* 不停的纠正要按照算法,要求,不要有自己的想法。 +* 时间不够,没有太多的沟通,面试感觉非常不好。 + +最后,在 1 个小时后,我提出了我有会议还要进行,没有办法完成这个 Task。然后不欢而散。 + +终于体验到了在美国面试 IT 技术岗的时候,防火防盗,防中国人。 + +总结下这个公司的面试问题有下面几点: + +* 公司提出的内容太多,没有办法在 1 个小时内完成所有的逻辑。 +* 参与面试的对方过于强调自己要什么,并不是非常在意或者不允许应聘者有自己的想法,这个可能和公司的业务性质有关。公司是软件外包公司,他们只关注实现,并不在意做的东西是什么。 +* 面试题目的出发点是好,通过一个完整的逻辑来考察面试人的状况,但他们忘了,我不是来帮你们解决 Task 的,这个 Task + 和我无关,我并没有责任去保证你的 Task 的完成情况。 +* 沟通非常不顺利,对方并不了解我想什么,我也没有心思去了解对方想什么。 + +整体来说这次的面试是一个非常失败的面试。 + +我认为对我自己来说是失败的,对对方公司来说也是失败的。实在无法想象,如果以后还要和他成为同事,这种情况如何进行沟通。 + +不希望每天上班都是折磨,应该是互相的把工作做好,因为我们是一个团队,我们是一个小组。 + +## 博彩数据分析 + +这个公司是一个初创公司,但是公司的发展和经验非常迅猛。 + +在 2019 年的时候投过这个公司的简历,但是不幸的是第一步以后就没有下文了。今年不甘寂寞的再投了一次,不幸的是还是在第一步就被拒绝了。 + +也许和他们没有缘吧。 + +上面将最近几次的面试小总结了下,发现了可能是因为已经有 Offer 了并且也准备过去上班了。所以对面试也没有太当回事情了。 + +也许能够通过上面我的经历对还需要面试的人提供一些线索吧。 \ No newline at end of file diff --git a/work/workplace/daily-operation-layoff.md b/work/workplace/2023/daily-operation-layoff.md similarity index 100% rename from work/workplace/daily-operation-layoff.md rename to work/workplace/2023/daily-operation-layoff.md diff --git a/work/workplace/last-year-workplace-issues.md b/work/workplace/2023/last-year-workplace-issues.md similarity index 100% rename from work/workplace/last-year-workplace-issues.md rename to work/workplace/2023/last-year-workplace-issues.md diff --git a/work/workplace/north-america-2023-layoff.md b/work/workplace/2023/north-america-2023-layoff.md similarity index 100% rename from work/workplace/north-america-2023-layoff.md rename to work/workplace/2023/north-america-2023-layoff.md diff --git a/work/workplace/restart-2023.md b/work/workplace/2023/restart-2023.md similarity index 100% rename from work/workplace/restart-2023.md rename to work/workplace/2023/restart-2023.md diff --git a/work/workplace/timeline-for-layoff.md b/work/workplace/2023/timeline-for-layoff.md similarity index 100% rename from work/workplace/timeline-for-layoff.md rename to work/workplace/2023/timeline-for-layoff.md diff --git a/work/workplace/_sidebar.md b/work/workplace/_sidebar.md index 72e6190..b25fe3f 100644 --- a/work/workplace/_sidebar.md +++ b/work/workplace/_sidebar.md @@ -1,7 +1,9 @@ - 2023 - - [公司大规模裁员的时间轴](/work/workplace/timeline-for-layoff.md) - - [公司裁员日常的骚操作和警告](/work/workplace/daily-operation-layoff.md) - - [上一年工作中猫腻的总结](/work/workplace/last-year-workplace-issues.md) - - [北美 2023 被裁员的感悟](/work/workplace/north-america-2023-layoff.md) - - [2023 重新开始](/work/workplace/restart-2023.md) - + - [公司大规模裁员的时间轴](/work/workplace/2023/timeline-for-layoff.md) + - [公司裁员日常的骚操作和警告](/work/workplace/2023/daily-operation-layoff.md) + - [上一年工作中猫腻的总结](/work/workplace/2023/last-year-workplace-issues.md) + - [北美 2023 被裁员的感悟](/work/workplace/2023/north-america-2023-layoff.md) + - [2023 重新开始](/work/workplace/2023/restart-2023.md) +- 2021 + - [从拒绝到拒绝](/work/workplace/2021/refuse-to-refuse.md) + - [从一个工作到一个工作](/work/workplace/2021/another-job-opportunity.md) \ No newline at end of file