亚马逊2022暑期实习一二面面经
一二面是连着的,分别一个小时。整体的面试体验很好,面试官很nice,面试以coding为主,白板做题,纯手敲,不用运行。
一面
自我介绍之后,问了一些项目上的问题,遇到的难点、遇到的挑战、怎么解决的。在关于问题的解决方面问得有一点点细。然后就是coding。
算法题
leetcode.200 岛屿数量
首先让讲了一下思路,我讲了广度优先遍历的思路,然后就开始写代码。写了bfs的解法,面试官看了之后觉得没问题,又问有没有其他解法,我说了深度优先遍历,然后又让我写了一遍dfs的代码,面试官看了之后觉得没问题。我又顺口提了一下还可以用并查集来做,没有让我写这个代码。
系统设计题
设计一个微博,功能有发微博、点赞微博、关注别人、查看点赞顺序等。因为这时候还剩十分钟了,所以大概地说了一下设计思路,有哪几个类、每个类有什么属性方法这样就结束了。
二面
自我介绍之后,问了一下进程线程的区别,来了一个任务是用多线程还是多进程怎么考虑,用多线程和多进程他们之间的优劣是怎么分析的。感觉不是为了问八股,像是随便聊聊天。然后浅浅问了一下项目,针对项目里的提到的一些东西,面试官看哪里感兴趣就问了一下,并不深。接下来就是coding了。
算法题
- leetcode.121 买卖股票只能一次 首先讲了一下思路,我一开始说的是双重循环暴力解决,但是复杂度有点高,面试官说想一下怎么优化,然后讲了贪心策略,面试官就让写代码了。
- leetcode.122 买卖股票可以多次 上一题写完之后紧接着就改了一下条件出了这一道题,简单说了一下思路之后就开始写代码了。
- leetcode.7 整数反转 这道题主要考察对正负数以及溢出的处理。处理溢出的时候一开始用long,面试官说不行这样太简单了不能用long,然后想了一会用的整数最大值/10来比较的方法,来判断溢出的情况。
反问
业务、技术栈。
最后说一下时间线:3.7投递,3.12笔试,3.29邀约面试,4.7面试。
球球让我过吧