91__程序员面试攻略:面试前的准备

学习了《程序员练级攻略》以后,我觉得你应该来学习一下“如何面试”了。在我的职业生涯中,我应聘过很多公司,小公司、中型公司、大公司、国内的公司、国外的公司都有。我有成功获得 offer 的经历,也有过不少失败的经历。

91__项目实战一:设计实现一个支持各种算法的限流框架(设计)

上一节课,我们介绍了限流框架产生的项目背景,并且对需求做了分析,这其中包括功能性需求和非功能性需求,算是在正式开始设计之前的一个铺垫。

前面提到,我们把项目实战分为分析、设计、实现三部分来讲解。其中,分析环节跟之前讲过的面向对象分析很相似,都是做需求的梳理。但是,项目实战中的设计和实现,跟面向对象设计和实现就不是一回事儿了。这里的“设计”指的是系统设计,主要是划分模块,对模块进行设计。这里的“实现”实际上等于面向对象设计加实现。因为我们前面讲到,面向对象设计与实现是聚焦在代码层面的,主要产出的是类的设计和实现。

92__程序员面试攻略:面试中的技巧

前面一篇文章讲的是面试前的准备,我从简历、技术知识、算法题和工作项目四个方面一一分享了该如何做准备,以及其中的经验和技巧。今天我们就来聊聊面试中的技巧。

92__项目实战一:设计实现一个支持各种算法的限流框架(实现)

上一节课,我们介绍了如何通过合理的设计,来实现功能性需求的同时,满足易用、易扩展、灵活、低延迟、高容错等非功能性需求。在设计的过程中,我们也借鉴了之前讲过的一些开源项目的设计思想。比如,我们借鉴了 Spring 的低侵入松耦合、约定优于配置等设计思想,还借鉴了 MyBatis 通过 MyBatis-Spring 类库将框架的易用性做到极致等设计思路。

93__程序员面试攻略:面试风格

国内公司和国外公司在面试风格上完全不一样,所以,这里我们也需要了解一下不同风格的面试方法,这样有利于你准备。

说句实话,国内的公司是比较好面的,国外的公司是比较难面的。从职位招聘信息上你就可以看出来,国内的公司包括知名公司更多的是面试在表面上。因为国内公司招的基本上都是马上能来干活的,所以,问的更多的是一些技术知识上的东西。

93__项目实战二:设计实现一个通用的接口幂等框架(分析)

上三节课,我带你分析、设计、实现了一个接口限流框架。在分析阶段,我们讲到需求分析的两大方面,功能性需求分析和非功能性需求分析。在设计阶段,我们讲了如何通过合理的设计,在实功能性需求的前提下,满足易用、易扩展、灵活、高性能、高容错等非功能性需求。在实现阶段,我们讲了如何利用设计思想、原则、模式、编码规范等,编写可读、可扩展等高质量的代码实现。