被设计的面试题与设计性的回答

不知不觉中,身边的Android 开发同事都已经变成了5年以上的老兵了,并且公司递过来的简历也都是五年以上的。这种情况下# 码农心经:探索软件开发的行为与架构 里描述的行为价值已经是必备项目了,那怎么简单的考察面试者的基础设计能力,这就是个问题了。

如果简单的问常见的设计模式,就没意义了,一般情况下招过来的人,他们也没有机会写项目架构的搭建,所以问常见的或者面试热门的架构问题就不行了。

在面对设计性的面试题时,我们需要展现出对系统架构和设计模式的深刻理解,而不仅仅停留在表面的知识点上。以下是针对设计性问题的回答思路,旨在突显应聘者的设计能力和实际经验。

架构思维(例子)

假设:需要做一个绑定业务,但是要求不能关注具体的绑定方式

解析: 很简单一句话,这是我设计的一个场景。

主要涉及到面向对象设计中的一些原则,特别是策略模式依赖倒置原则, 以及面向接口编程的编程技巧等。

其中包含的面试点有:

  1. 面向接口编程: 此设计遵循"面向接口编程而不是面向实现编程"的原则。这样可以降低代码的耦合度,使得系统更加灵活和可维护。
  2. 策略模式: 通过使用策略模式,可以在运行时选择不同的绑定策略,而不需要修改客户端代码。这提供了一种灵活的方式来扩展和变化系统的行为。
  3. 依赖倒置原则: 高层模块(客户端代码)不应该依赖于低层模块(具体的绑定策略类),而是应该依赖于抽象(绑定接口)。这种设计遵循依赖倒置原则,使得系统更加稳定和可扩展。
  4. 扩展性: 面试者可以被问及如何添加新的绑定策略而不影响现有代码。通过创建新的绑定策略类并实现绑定接口,系统可以轻松地添加新的绑定方式。
  5. 可维护性: 如何保持系统的可维护性,特别是在将来可能添加新的绑定方式时。合理的接口和类的组织结构可以使得系统更易于理解和修改。

对设计模式的掌握成都程度

你认为你写过的最爽且贼6的设计模式是什么

解析: 不要张口就是单例,还是# 码农心经:探索软件开发的行为与架构 中的那句话,行为模式就是必备的,要想突出必须设计性回答。

比如,聊一个牛逼点的设计模式,结合面试官所在公司的业务(通过网络了解,或者通过HR简单聊几句),说一个解决某种问题的设计方式。

比如你面试的公司是音视频的,你可以说你使用抽象工厂模式很6,之前为了解耦业务视频不强行依赖于某一个SDK而设计了一种可以高度解耦的,动态切换播放器内核的SDK,等。

学会用设计面试题的思维回答面试题

说实话,我们这个工作经验,早已经脱离了八股文的阶段,在面试过程中八股文可能是必问项,但是并不是决定是否能入职的必要条件,我们要结合技术点,回答问题的,且往目标公司的业务方向去靠。要学会将自己熟练的技术运用到回答中

要巧妙!!!

切记,不要说工作这么多年了,记不清了

相关推荐
swipe几秒前
#用这 9 个浏览器 API,我把页面从“卡成 PPT”救回到 90+(每个都有能直接抄的例子)
前端·javascript·面试
SimonKing27 分钟前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean34 分钟前
Jackson View Extension Spring Boot Starter
java·后端
前端双越老师1 小时前
前端面试常见的 10 个场景题
前端·面试·求职
Kapaseker1 小时前
Compose 进阶—巧用 GraphicsLayer
android·kotlin
黄林晴2 小时前
Android17 为什么重写 MessageQueue
android
Seven972 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55111 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河11 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化