玛丝菲尔的技术面试

玛丝菲尔 做定制服装,上门服务的,算中高端品牌。有APP -“试衣到家” (利润不知道如何)),看名称就知道做什么的,

技术.NET Core(VS2019) +mmsql+git,jenkins 自动部署。
研发部约30个,主要做“试衣到家”。
福利:5:30准时下班(研发也是这个点下班哦,因为有公司班车加班晚了就没车了)、有班车,适合养老、公司妹子多(服装设计师+跟单员等等)、有自己的大厦
不好:发展前景未知(对于一个想快速提升技术的人来说的话)


项目的了解:已经有在开发微服务框架,但是说不敢上,估计是之前开发完,很多功能不知道上线后有没有bug影响用户和公司人员(听说原有的在一个项目里面开发所有后端功能,怕不是~),而不是像别人一步步实现微服务,一下子吃上胖子怕是不行(已经有之前的同事推荐去面试的,之前已经找他了解不少)
面试我的是项目经理,在.NET 大数据方面研究比我多,数据库集群也有在用, 面试主要贴着 大数据 并发 优化再问

ddd 领域驱动
ocelot (.NET Core开源API网关,就是Gateway)
Consul(.NET Core 服务中心,跟Eureka, Zookeeper类型)
virtual
sealed
Expression<Func>
delegate
IO模型以及具体应用:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO
await的作用
C# 泛型的理解:
泛型集合: List<T>
泛型集合Dictionary<K,V>
其它技术点忘记了


数据库
聚集索引和非聚集索引
merge into
Table Scan
Clustered Index Scan
Clustered Index Seek
cross applt
让你设计一个登录记录表怎么设计(要涵盖具体哪个端登录),以及怎么创建索引的,以下我的解答
1、 主键ID,用户ID,token,reflesh_token(刷新token,app端token过期用来刷新用的)、设备ID(设备唯一标识转换成我们后台的设备ID,int类型,方面后台统计这个设备有多少用户登录)、端的ID(比如H5为1,安卓为2,IOS为3,微信为4等)、登录时间、失效时间(默认是登陆时间的30天后)
2、用户ID和登录时间做一个联合索引、设备ID和用户ID 做一个索引、reflesh_token和 失效时间 做联合索引


数据库的优化:比如or、in、 like、分页、*等怎么优化、含有group by等


RabbitMQ 7种模式
#1 simple简单模式
# P:生产者:也就是要发送消息的程序
# C:消费者:消息的接收者,会一直等待消息到来
# queue:消息队列
2 work工作模式(资源的竞争)
3 publish/subscribe发布订阅(共享资源)
场景:用户通知,当用户充值成功或转载完成系统通知用户,通知方式有短信、邮件等方式
4 routing 路由模式:消息会转发到routing名一样的所有队列上
5 topic 主题模式(路由模式的一种) 通配符
① 符号#:可以匹配一个或者多个词(每个词中间以.分隔),比如inform.#可以匹配inform.sms、inform.email、inform.email.sms
②符号*:只能匹配一个词,比如inform.* 可以匹配inform.sms、inform.email
场景:根据用户的通知设置去通知用户,设置接收Email的用户只接收Email,设置接收Email的用户只接收sms,设置两种通知类型都接收的则两种通知都有效
6 RPC 远程过程调用
7 Header header转发器

redis 没问,但是5种类型和原理也要了解下

面试时间:2020年10月29日

原文地址:https://www.cnblogs.com/zhian/p/13899943.html