其他的根据简历有关的面试技术看 面试 标签
遇到过什么样的技术难点以及怎么解决
在面试的时候,问完技术性问题后,面试官通常会问一个”遇到过什么技术难点,以及如何解决”这么一个问题,这个问题是一个开放性问题,在面试时通常我们是想不起来这种细节层面的东西,需要提前准备一下。
问题的考察点
这个问题实际是在考察,在实际工作中遇到技术难题时,有没有一种系统性的思考问题、定位问题、解决问题的方法论,或者说思维模型.需要对平时做过的工作内容进行总结、提炼、思考,需要有自己的思想温度。
问题案例
旧的代码设计满足不了新的功能需求
之前遇到过一个系统,有一个功能是读取配置文件,系统启动之后会把配置文件的字段数据存储到一个静态类的字段中,系统的其他地方会引用这个静态类。现在的需求是要让用户自己可以修改配置信息,小组讨论之后把这个配置信息全部存储到数据库,不再使用配置文件存储,最终我设计的解决方案是添加了一个中间件,原本是系统启动的时候读取配置文件给静态类字段赋值,现在变为请求进来的时候去数据库读取配置给静态类赋值。
问题的难点在于:
- 因为是存到了数据库里面,如果移除静态类用仓储对象或是其他的去当场去查数据库是做不到的,并且很多地方的引用是无法从数据库进行查询的,要移除这个静态类代码的改动量非常大。
- 静态类如果不改动,问题就变成了什么时候去给这个静态类赋值,我设计方案有两个一个是使用 ASP.NET Core 的 Host Service,一个是使用中间件在请求进来的时候去加载。后面综合考虑下来,还是使用的中间件的方式,原因就是 Leader 觉得 Host Service 会让静态类的赋值和使用分成了两个独立部分,不能保证连贯性。
面试时不应该 对应问题->对应答案