首页 > 新加坡Shopee后端一二三面凉经
头像
假装大佬
编辑于 2020-09-23 12:37
+ 关注

新加坡Shopee后端一二三面凉经 内部员工回复

Shopee一面8.13(1h30min)

  1. 面试官介绍Shopee,介绍一下本次面试流程(先Coding,后根据简历问,然后问基础)

  2. 算法题,删除链表中所有重复出现的节点

  3. 跑一个例子,看一下,优化一下输入(写成数组输入)

  4. 如果多个输入,再怎么优化(没有get到,一开始是打印输出,查看结果是否正确,面试官最后说想让写成LeetCode那样,给输入和答案,输出true/false)

  5. 项目相关

  6. Servlet生命周期,什么时候会destroy?

  7. Reactor介绍一下,为什么有Reactor模型,传统模型是什么样的?

  8. 主Reactor和主从Reactor有什么区别?为什么还要有第二个呢?

  9. Synchronize和Lock有什么区别?

  10. 什么时候会用Lock的中断呢?(回答了破坏死锁)

  11. 那是怎么发现是死锁的?

  12. 代理模式和装饰着模式在JDK中 有哪些体现?它们有什么区别?

  13. B+树整个的一个查找过程是什么样?

  14. B+树为什么叶子节点有链表?B+树非叶子节点不存放数据是因为什么?

  15. 数据库隔离级别,读已提交会产生哪些问题?

  16. 微服务是怎么解决TCP粘包问题的?

  17. Netty是如何做到心跳机制的?(回答不知道),那让你实现你怎么完成呢?

  18. 给一个不懂技术的人介绍一下人脸识别是如何做到的(项目相关)

  19. 有一个程序读一个网络文件,通过socket发送出去,整个过程中涉及到几次拷贝?拷贝次数太多了,如何优化?

  20. 两个进程打开同一个文件,一个进程会一行一行的读,另一个进程将文件truncate或者清空,那么第一个进程能否感知到?

  21. 硬链接和软连接有什么区别?

  22. 如何查端口占用,知道的越多越好,不止命令,查看一些文件也可以

  23. netstat是怎么实现的?(不知道),看过代码吗?(没有)你就不好奇吗hahha

  24. 物理内存和虚拟内存有什么区别?

  25. 在程序中Debug看到的是物理内存还是虚拟内存?

  26. 进程之间通信的共享内存是怎么实现的?还有其他进程通信方式吗?

  27. OSI模型,链路层是做什么的?

  28. TCP是如何做到可靠性的?TCP有哪些定时器?

  29. 如果数据库量很大的话什么办,有十亿上百亿数据

  30. 场景设计题,一个订单有oid(order),uid(user),sid(shop),拆为多个库多个表该怎么做,才能使得几个id之间可以相互查询,你这样有什么缺点或者说需要注意什么?怎么解决呢?

  31. 反问

Shopee二面8.14(1h)

  1. 自我介绍

  2. 算法题,单词拆分,LeetCode139

  3. 写个case测试一下,讲一下优化思路

  4. HashSet的实现

  5. HashMap具体是怎么实现的?在发生扩容时,如果我要复制的元素特别多,要等所有的元素复制完成才能进行吗?如果你要实现你该怎么办?

  6. HTTPS是如何保证安全的?

  7. 事务的隔离级别

  8. 数据分库之后,让事务跨数据运行,你了解有什么方法吗?

  9. 你了解有哪些分布式共识协议吗?有听说过zookeeper和etcd吗?

  10. 比较一下MySQL和Redis,分别在什么时候用

  11. Redis做缓存如何跟MySQL同步呢?如何让缓存失效?

  12. 如果删除失败的话,那之后读到的旧数据,那怎么办?

  13. 描述一个你做的项目,你的微服务是怎么拆分的?有分开部署吗?

  14. 你使用JWT放在cookie做身份的校验,把权限放入Redis中了,为什么不放在JWT里边?

  15. 比较一下JWT和传统的Session的优劣?

  16. 假设有一个功能使用了JWT,用户改完密码之后,所有在线的用户要求登出,有没有办法做到这个功能?比如是两个浏览器,我一个浏览器用户登出,另一个如何让它页面登出?

  17. 你的系统的瓶颈在哪里,如果有很多用户都在用的话?

  18. 你了解数据库分库分表的方式吗?

  19. 一致性哈希的话,如果我要加一个节点需要什么操作?就比如我新加一个节点,它是空的,我需要转移数据吗?

  20. 假设我的数据全部存在一台Server上,我现在增加了一台,我如何平滑的把一部分数据放到另一台上呢,并且保证业务还是有读取、更新的操作。进行读取的时候,如何判断数据在哪一台Server上?

  21. 反问

Shopee三面 8.17(54min)

  1. 之前面试感觉怎么样?你觉得答的怎么样?

  2. 有其他公司的offer吗?

  3. 你是怎么知道Shopee的?

  4. 对于来新加坡工作有什么想法?

  5. 算法题(没有实际写),两个数组A,B,找到A,B两个共同的元素

  6. 使用Set空间复杂度,时间复杂度是多少?

  7. 假设A,B有序的话,如果优化,空间复杂度,时间复杂度是多少?

  8. 假设A里面有1million个元素,B里面有1000个元素,有什么办法进一步优化?空间复杂度是多少?

  9. Set结构的时间复杂度是多少?

  10. 你能简单描述一下CPU是怎么运行一个程序的?会全量把程序加载进内存吗?

  11. 你能描述一下内存布局是什么样的?堆和栈的区别

  12. 什么情况下我们要使用堆?

  13. 在堆上的访问成本要比栈上的访问成本高,怎么解释?

  14. 有听说过栈缓冲区溢出漏洞吗?

  15. 传值和传指针有什么区别(感觉一直在问非Java的问题,就说了熟悉Java一些)

  16. ConcurrentHashMap和HashMap有什么区别?

  17. 自旋是什么?什么时候会用到?用来解决什么问题的?

  18. CAS是Java里的吗?CAS是运行在内核态还是用户态的?

  19. 在CPU运行时,有一个L1,L2 Cache是做什么的?

  20. 为什么不能把CPU缓存做大呢?

  21. 一般什么数据是存放在L1,L2中的呢?

  22. 如果它不够的话,如何选择它的淘汰策略?

  23. LRU是什么意思?这个算法是怎么实现的?

  24. 场景设计题,有一个API,要限制它的使用次数,要求同一个IP,在1s内只能访问两次

  25. 你设计的方案中有什么问题,或者需要注意什么?

  26. 假如需求变成1000次,1w次,你的方案会有什么问题?

  27. 如果不使用redis,在本地中,把你设计的对应的数据结构写一下。那数据如何清理?谁来清理?

8.25收到感谢信

9.2 被捞

被另一个team捞起来,直通技术终面

Shopee三面 (57min)9.14

  1. 之前面的怎么样?

  2. 自我介绍

  3. 上过软件工程或者计算机相关的课程吗?

  4. 为什么对后端开发职位感兴趣?

  5. 项目相关

  6. 你是怎么知道Shopee的?

  7. 算法题,给了一组人0~N-1,给出一组关系,即个人和他父母的编号,判断任意两个人是否有血缘关系(前面一直在往二叉树想,各种乱写了一堆,最后面试完想到并查集就直接解决了。。)

  8. 反问

  9. 你有offer吗

  10. 如果这边给你offer你会来吗,想来新加坡吗

Shopee HR(18min) 9.18

  1. 自我介绍

  2. 为什么想要申请新加坡的职位?

  3. 你是怎么了解到Shopee的?

  4. 有跟父母沟通过去国外工作吗?

  5. 有实习经历吗?

  6. 目前有拿到哪些公司的offer?开多少钱?

  7. 你自己在选择公司的时候更看重哪些内容?

  8. 你对自己的期望薪资大概是多少?为什么是这个数?

  9. 之前帮你换了一个team,这个对你来说ok的吗?

  10. 你之前有来新加坡吗?有家人、同学或者认识的人在新加坡吗?

  11. 介绍一下自己的优缺点

  12. 反问

更多模拟面试

全部评论

(13) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐