【原创】蕉厂BQ50题小总结

avatar 252911
Lzc199639
885
0
最近准备面试中,想分享一些个人在准备BQ问题时候准备的一些比较实在实际的模板,不仅适用于亚马逊,应该对别的公司也挺有用处(原创,会抹掉个人信息,官话会比较少一些~),敬请大家提建议和讨论。大体遵循:
1)STAR(Situation, Task, Action, Result)原则
2)以及tradeoff>correct or wrong
3)少谈对自己的利益多谈可以给公司带来的效益。
问题来源:yoreoyster.com准备用5天的时间把整篇写完,每天上传10个问题和答案。

1. Why Amazon?
The Amazon app was the one of the first several apps I installed on my phone in 201x when I arrived in the USA. It is a concise and precise app to use. I trust Amazon’s price, service, shipping, customer service, return and refund policy. It is overall a very trustworthy company. I want to make people’s lives happier, so contributing my time and effort to Amazon will be a great way to achieve that, for this role as a SDE for xxx, I think my technical skill set match the role well and we can build better product with great team and smart employee here.

2. Tell me about yourself.
I am a full stack software engineer working for xxx for the past 3 and half years. Graduated college in 2018. With xxx in a team of 6 SDE I design and implement our web application for storing and processing customer data in the front end, back end and CI/CD. My biggest achievement was taking the report parts of our application from html to microsoft reporting service so that we can print a 100 page pdf under 10 seconds where we couldn't previously. After making the web application relatively stable in xxx, I decided to explore more exciting technology and make more impact with my passion and skill.

3. Tell me about a time you had to help a team member struggling with a task.
I helped with our support team to deal with some complaints on the data where the data on the report have different numbers with the data on the UI. My task was to help debug out the reason and provide a standard operation procedure.
First, we need to see if we can reproduce this issue on our acceptance/testing environment, to identiy if this is a bug or configuration issue.
Second, after confirming the issue, we found out the reason has to do with a stored procedure that controls the report have a field reflecting wrong criteria, for instance, a wrong date range.
Third, we need to look at the design docs, or original author of the code and see if this is a design issue, or human error. Then we found out it is a human error and QA/testing team did not spotted the issue because the test case wasn't well prepared.
In the end, we fixed that part of the code and commit/push the code into the git, have the QA tested it again, and resolved the issue before the next business day.

4. Have you ever failed at something? What did you learn from it?
I failed at things constantly but everytime learn from it. I remember there was a time I need to make sure a print out format of MS reporting service is A4 page per customer's request. I spent a long time dragging the boxes and adjusting the margin but still cannot get the result I want. Then I googled to see if there are similiar cases, and I find out several similiar cases, then I followed their steps and resolved the issue.
The thing I learned from it is: 1) If you failed something, don't sit there just waiting, seeking help from colleague or other online resources.
2) Make good notes about the knowledge you gained from these failure, so next time you can be more efficient with them.

5. Have you ever been in a situation where you had to choose among a few options, but did not have a lot of time to explore each option?
When we facing a new feature or modifying an existing function, we often ask team member to give their own solution to the problem, then we will try to get the pros and cons of each solution, elimate the obvious wrong, then for 2 to 3 options, we will see if we can find a trade off that in the long term, benefit the clients' user experiences/ needs.
For instance, we can ask our customer to print out 2 letters, one is called water bill notification, the other is called gas bill notification, we can design them on two button, two pdf generated. Or we can have our customer to print out 1 letter with those two notifications combined in one file two pages. If our customer just want the letter out fast and do not care about the details that much, we would go with the option 2, which enhance the efficiency.
In short, based on customer's request, and discussion with the team, we will come up the final direction.


6. Has there been a time where your teammate didn’t agree with you? What did you do?
There was a time when we design a page we have conflicts on if a field should exist there. For instance, a phone number field. But in our system, phone number is not a mandatory field, which sometime the page could be like Phone number:______. My idea was that we should write a case when statement inside the stored procedure, or in the C# code, my colleague's idea was just hide the phone number field. I told my colleague that to hide this will save us resource but what if customer want this field in the future, we need to have some flexibility and scalability for this kind of situation.
Then we implement in the front end code that if the phone number is not null, we do Phone number = 12345, otherwise we just hide the field overall.


7. Give me an example of a time when you showed initiative.
When we developed this application, for different users we would have different grid user profile where users are able to drag the items inside the grid and graph. At first, people find it is very easy to use because once they use the function, they tend to not adjust the view. But with the time goes by, a certain time period of the season, people starting to have complains about need to reset the profile, and each every time they do that they need to contact us through the support desk.
After seeing several times of this, I brought this up in the dev meeting, we added a button near the grid for customers, give them the ability to reset the profile themselves without contacting us.


8. If a supervisor asked you to do something unsafe that went against a policy, what would you do?
First, we need to assess the degree of this unsafe action. And leave evidence for the future reference.
1) If this unsafe action conflict with a hard, strict line, usually it is something that can cause very big negative impact regardless of moral or money, we need to decline the request, if possible, report the incident and bring attention to more colleague.
2) If this is an action that actually benefit the customer, as well as company in the long term, and it is very obvious the policy has a flaw at the moment but cannot be fixed, then I think we assess the urgency and do it, but record the process.
3) If this is an ambigous action that will have some pros and cons, I think we should hold off this action and bring this to a boarder discussion. Such as writing a script to change a data on the production database, we need to do it in a smart way.


9. Give me an example of when you received criticism. How did you respond to the information?
There was a time one of my colleague in the year end review pointed out I sometime cannot estimate well enough when I accept a ticket. And he/she gave an example where a feature I estimated need 3 days but end up taking a week. Because there were some difficulty where I spotted during the process of the development.
After knowing that, I re-assess my attitude and ability on this area. And put more thoughts when I make an estimation about a deadline, telling myself to leaning towards always over delivery than not deliver enough.

10. Describe the biggest failure of your professional career.
I remembered this is the first year of my career I was doing a deployment for a demo site where my manager was using to demo. The site is very stable and the version was at v1.0, but we have a more advance version v1.1 ready. The demo was at 9AM and my boss told me if I am able to get the site ready on v1.1, please do. If I am not able to, then just leave it as v1.0. The time was at 8:45 AM and I don't have a lot of time to make sure the deployment is well prepared but I was a bit over confident and also a bit want to risk to have a better result, I still did it. The demo did not go well because part of the file was missing. Even though we still end up having a good demo, but thanks for my manager's reaction.
I learned that in my professional work, I need to be more mature and stable, take risk is a good thing but taking unnecessary risk is not a wise thing.





补充内容 (2022-05-16 11:05 +8:00):
5/15号补充10点:
11. Describe a situation when you faced a particularly demanding problem or challenge in your personal life. How did that affect you in your job?

I am very lucky and I actually have not encountered any demanding problem or challenge in my personal life, but I remembered 2 years ago when my grandfather passed away, at that time my parents were with me, and I need to take them to Chicago so they can take the flight back to China for the funeral. It was an abrupt news and I called my manager about this, luckily my manager at that time was very generous to me, and he gave me 2 days off for that. I planned the development work and give the instructions to my colleague before I leave, and everything was smooth. Emotionally, I tend to not let things outside work impact me that much, if I feel under big pressure, I will exercise and talk to people.

12. Describe a situation when you did not agree with an opinion (or decision) of your superior or supervisor, and knew that they were wrong.

Firstly if this is a group discussion, I would not mention it in front of everyone, on one hand I don'r want to make my superior look bad, on the other hand I want to make the group meeting faster so everyone can get to work. But that doesn't mean I don't know what's the right thing to do. I will politely tell my superior when and where his or her opinion has flaws, and give him or her some example/data that can be quantified. I will tell him or her what I think the correct way is, or even discuss with him about it, maybe my approach is not perfect either.


13. Tell us about a time when you had to deal with an angry or upset client.

Same with #3, but we will need to comfort the client first and acknowledge our apologize.

14. Describe a situation when you went above and beyond with your service (for the customer, for the colleague).

Same with #7

补充内容 (2022-05-16 11:12 +8:00):
15. Describe a time when you sacrificed short-term goals for long-term success.

Same with #7.

16. Tell me about a time when you took a calculated risk.

Same with #8, can talk about change data on the production via a script but under good measurement.

17. What’s the most innovative idea that you have implemented?

I would say is implementing SSRS reporting server for our company's web application, to replace the old html printing.
1) I let the team know that our current printing technology is obsolete.
2) I made a demo on my local using the SSRS printing with our application.
3) After my colleague sees my demo, I convert 2 of current reports into SSRS format, and then show the team about it.
4) They all like it, then I worked on rest of them ( about 30 some reports)

18. Tell us about a time when you faced a problem that had multiple possible solutions.


Same with #6,7,8.

19. Describe a situation when you had to deal with ambiguity.

Same with #6,7,8.

20. Tell me about the last time you had to apologize to someone.

Same with #13
    • 41
    0条回复