后端研发,面试官就喜欢问这50个问题(收藏起来慢慢学)

在墙外刷到一篇文章,统计了后端研发(backend developer)面试过程中最常被问的50个问题:其中初阶15题,中阶18题,高阶17题。

画外音:内容较多,建议收藏,逐步全部搞透。

可以自己测一测,看自己进阶到哪一层了。

初阶15题(Beginner)

1. 什么是API端点(API endpoint)?说说相关技术点。

画外音:额,怎么第一题就这么陌生呢?

2. relational DBNoSQL DB有什么区别?该如何选型?

3. 什么是REStful API,其设计核心原则(core principle)是什么?

4. 一个典型的HTTP请求/响应周期(request/response cycle)是怎样的,从建立连接开始。

5. 应用程序中如何处理文件上传,有哪些需要注意的技术点?

6. 如何测试API端点,请考虑常见的测试类型。

7. web应用中,session是如何创建与管理的?

8. 你是如何进行API版本控制(API versioning)的?

9. 你是如何避免SQL注入(SQL injection attack)的?

10. 你对HTTP无状态(statelessness)的概念是怎么理解的,这对后端服务的设计会产生什么影响?

11. 什么是容器化(containerization),它有什么好处,对后端开发有什么影响?

12. 怎么保证你设计的API是安全的?

13. 你的后端程序如何应对流量激增(traffic surge),此时你如何扩展后端应用程序(scale backend application)?

14. 你使用什么工具来调试(debugging)后端应用程序,谈谈你的调试过程与步骤。

15. 如何保证你写的代码容易理解且便于维护,谈谈你的理解。

中阶18题(Intermediate)

16. 如何利用数据存储工具,实现全文检索(full-text search)?

画外音:可以用MySQL,Postgre,或者ES。

17. 如何在数据量大的后端应用程序(data-heavy backend application)中进行批处理(batch processing)?

18. 你在什么时候会使用分布式消息队列(MQ),它有什么优缺点?

19. 在高负载的场景中(high-load scenario),你会使用怎样的策略管理数据库连接(DB connection)?为什么?

20. 如何为你的后端服务(backend service)设置持续集成/持续部署管道(CI/CD pipeline)?

21. 一个数据量较大,吞吐量较大的高可用应用,你会如何考虑分布式缓存策略(distributed caching strategy)?

22. 你通常用哪些方法来管理后台任务(background task)?

23. 数据安全性较高的应用程序(privacy-focused application),你如何来处理加密和解密,说说相关的关键技术点?

24. 是否了解webhook?你在什么场景下会用到它,是如何使用的?

25. 你如何保证后端系统符合GDPR合规性(GDPR compliance)?

画外音:

GDPR是欧盟出台的《通用数据保护条例》(General Data Protection Regulation),它把公民的数据安全与隐私权写入了法律。其中包含数据合法性,使用目的透明性,数据最小范围原则,数据准确性等多条保护原则,以及知情权,访问权,修改权,删除权等多项公民权利… 违反GDPR的公司可能面临2000W欧元的罚款。因此,欧洲互联网公司的技术部门非常重视GDPR。

26. 如果一个web请求处理时间非常长(long-running process),你会如何处理与优化?

27. 你如何控制API的访问速率(rate limit),防止API被滥用?

28. 你如何检测与监控后端应用程序的性能

29. 什么是微服务(microservice)?你在什么场景下会使用微服务?一个系统分解成多少个微服务合适?

30. 你如何管理系统中API的依赖关系(API dependency)?

31. 什么是最终一致性(eventual consistency),它对我们后端系统设计的意义是什么?你在什么情况下会使用到它?

32. 什么是反向代理(reverse proxy),你在什么情况下会使用到它?

33. 你是怎么在负载均衡应用程序(load-balanced application)环境中处理会话状态(session state)的?

高阶17题(Advanced)

34. 什么是数据库复制(DB replication),它来做容错的核心原理是什么,数据复制带来的常见副作用是什么,在后端开发过程中应该如何规避这些副作用?

35. 你在后端服务发布的过程中是如何使用蓝绿部署(blue-green deployment)策略的,有什么注意事项吗?

36. 常见的一致性模型(consistency model)有哪些,你在实践分布式数据库的过程中,使用了哪种模型,为什么?

37. 如何在持续交付环境中管理模式迁移

画外音,额,这个问题我没看懂,原文是:

How do you manage schema migrations in a continuous delivery environment?

38. 你在RESTful API设计中会使用怎样的策略来保证幂等性(idempotency),举例说明?

39. 你会如何实现单点登录(single sign-on, SSO),简单叙述原理与流程。

40. 你会如何设计一个处理物联网设备数据流(IOT device data stream)的后端系统。

41. 如何构建一个服务,来实现跨设备(across device)的数据实时同步(real-time data synchronization),你会如何来设计后端架构?

42. 微服务架构的优点和缺点是什么?什么样的场景不适合使用微服务架构?

43. 你是如何对后端API进行负载测试(load test),有什么需要注意的?

44. 服务端缓存淘汰(server-side cache eviction strategy),有哪些常见的策略,各有什么优缺点?

45. 如何实现跨服务请求跟踪(tracing request across service),简述相关的核心技术。

46. 乐观锁(optimistic locking)与悲观锁(pessimistic locking)的核心原理是什么,分别在什么场景下会使用它们?

47. 高并发的业务场景下,你使用了哪些方法来防止数据库事务死锁(transaction deadlock)?

48. 微服务架构中,如何保证服务间通讯(inter-service communiation)的安全,有哪些常见的风险?

49. 在大型系统中,你是如何预防与检测数据异常(data anomaly)的?

50. 跨国应用程序的数据存储方案需要考虑哪些问题,有什么常见的解决方案。

画外音:额,没机会涉及这类应用场景,遗憾呀。

看了下,大部分常见后端场景都有所涉及了。看大伙对哪些问题感兴趣,后续我可以一一扩展来聊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值