Atlassian 面试经验(悉尼 - 职业中期)
他们正在寻找的职位:该广告是针对具有从单体应用到微服务分解经验以及 AWS 和云服务知识的软件工程师。该职位没有提及具体的语言。一位招聘人员通过领英联系了我。
第一轮:第一轮是对他们的一位开发人员的一对编码面试。我之前提到过,我的编程面试首选编程语言是Java。我得到了一个Java用户管理系统项目。还有一些Jira 问题的屏幕截图,这些问题描述了给我的项目中的一些错误。例如,问题之一是,
I have deleted a user “Jessy” from the group. Now, when I am trying to add “Jessy” again to the group, it is complaining that user Jessy already exists. But, when I print all the users of that group, it doesn’t show that user.
由于它是结对编程,因此希望在开始编码之前讨论您对该问题的想法并为潜在问题提出解决方案。
需要考虑的事项:
- 提及您的编程语言、您最喜欢的 IDE 和您喜欢的操作系统。
- 不要立即开始编程,与您的配对讨论您提出的解决方案是什么。
- 代码结构定义良好。类名易于阅读,即。用户、用户服务、组、组服务、用户注册服务等。如果您对代码有任何疑问,哪个文件或类应该触及代码的特定部分,请询问您的配对。
- 我的面试官是 TDD 信徒,所以我开始先写测试和编码。
- 另一个非常重要的事情是,你有 99% 的机会获得 Mac 进行面试。我是 Windows 用户,不习惯使用 Mac 风格的键盘或鼠标,我远程进行了编码面试,所以没有遇到任何 Mac 问题。但是,我从人们那里听说,他们面临着糟糕的编码面试体验,因为他们获得了带有 Windows 键盘的 Mac 或类似的东西。 (这不完全是 Windows 风格的键盘)。
- 没有算法问题解决面试问题(即排序/搜索问题解决问题)。整个编码面试取决于正在运行的现有项目。我不得不在那个项目中修复一些错误或添加一些小功能。
- 谈话,考虑面试官是你的同事,你们两个正在处理一个问题。
第 2 轮:
回合是技术回合。我不得不用图表描述我在白板上工作过的一个项目。从项目的技术方面提出了很多问题。问题包括 Monolith 部分、微服务分解、生产中的部署、更新生产中的现有部署、docker、如果生产中发生某些事情如何处理、内存管理、处理大量用户、负载平衡和集群、AWS、不同类型的测试以保证代码和性能,如果外部服务没有响应如何处理,
与其描述这个概念是什么,不如提出更多的问题,比如你是如何参与这样一个概念的,你在解决这个问题中扮演了什么角色。我的建议是,首先明确一般概念,然后尝试将其与您的个人工作经验联系起来。
在那次采访中也有一个编码任务。据我所知,它是实现一个示例连接池。
尖端:
- 试着讲一个故事。
- 例如,如果他们问
“if very high volume of users query your service and your service is not in sending a response, how would you figure the problem“
与其说我会做这做那,不如试着把它与你的经历联系起来。我开始时,
“I was writing JMeter scripts during load testing before a release. I was running 400 Threads concurrently and then found that after a certain period of time say 4 hours my service became very slow. I took a Thread dump and also took a screenshot of the Database connection monitor graph. Then, from the thread dump tried to investigate the stack traces and error logs to figure out the issues. The problem was fixed by increasing the connection pool size from 50 to 100.”
第三轮:
第三轮是文化面试。他们询问您之前遵循的不同流程,即 Scrum 或看板,您是否适合作为团队成员,您是否积极主动,您是否曾在之前的工作中提出过改进流程或产品的建议,如何您对正面或负面反馈等做出反应
尖端:
- 再次,讲一个故事。试着想想以前经验中的一些例子。例如,有人问我
“Did you ever helped any team member who didn’t actually ask for help“.
我的回答是,
“A new developer joined my team and he was working in a bug fix task, he was stuck in that task for 3 days and didn’t approach for any help. I knocked him and asked if he needed any help or guideline and pair programmed with him for 30 minutes, which really helped him to progress quickly.”
- 从他们的网站上阅读 Atlassian 的核心价值观,并尝试在面试之前想一些例子,了解您在这些领域的个人经历。
祝你好运!