当前位置: 首页 > article >正文

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

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

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

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

架构思维(例子)

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

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

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

其中包含的面试点有:

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

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

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

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

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

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

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

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

要巧妙!!!

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


http://www.kler.cn/a/233809.html

相关文章:

  • Vue 的生命周期函数 和 Vuex
  • SHELL脚本(Linux)
  • 【Pikachu】目录遍历实战
  • ctfshow-web入门-SSTI(web361-web368)上
  • 11张思维导图带你快速学习java
  • 阿里巴巴通义灵码推出Lingma SWE-GPT:开源模型的性能新标杆
  • 配置VMware实现从服务器到虚拟机的一键启动脚本
  • 数据结构——5.3 二叉树的遍历和线索二叉树
  • 游戏竞赛中的时间压力与情绪管理:一场关于挑战、紧迫感与心态的深度探讨
  • 255.【华为OD机试真题】最小矩阵宽度(滑动窗口算法-JavaPythonC++JS实现)
  • 【微机原理与单片机接口技术】MCS-51单片机的引脚功能介绍
  • LabVIEW工业监控系统
  • 【Linux】构建模块
  • 2、ChatGPT 在数据科学中的应用
  • Istio1.6官方文档中文版
  • C++2024寒假J312实战班2.5
  • 正点原子--STM32通用定时器学习笔记(2)
  • 速盾:海外服务器用了cdn还是卡怎么办
  • 【CSS】什么是BFC?BFC有什么作用?
  • Android 11 webview webrtc无法使用问题
  • cool 框架 node 后端封装三方Api post请求函数
  • NLP_Bag-Of-Words(词袋模型)
  • 如何进行游戏服务器的负载均衡和扩展性设计?
  • VUE学习——事件参数
  • 每天一个数据分析题(一百五十六)
  • moduleID的使用