在寻找编程岗位的过程中,我主要投递了JAVA和C#的职位,但发现JAVA的岗位相对较少,因此不得不转向更多的.NET和全栈开发(full stack)岗位。在面试中,最常被问到的问题集中在.NET技术栈上,包括值类型与引用类型(value types and reference types)、类与结构(Class vs Struct)、MVC模式、实体框架(EF)以及数据库相关知识等。这些问题并不复杂,但需要确保自己能够迅速且准确地回答,做到即问即答,毫不犹豫。
如果是系统设计,建议保持设计的简单性。我经历了两次系统设计的面试,关键在于理解面试官的需求。设计不需要过于复杂,一个基本的系统设计通常包括一个前端页面、API网关和后端服务,可能还会加入一些无服务器函数调用(serverless function call)或调度任务(scheduler job)来调用第三方API。这样的设计足以满足面试官的基本要求,不需要涉及过于复杂的分布式系统,尤其是在中小型公司。