面试经历---云徙科技(2018年03月13日下午面试)

云徙科技现在主要是帮一些企业开发互联网商城,比茅台等,项目的金额在1000万左右,但企业是想搭建自己的平台,建立自己的产品,通过卖产品而不是做项目的方式,但企业运营得需要钱,所以就接项目做。

面试官姓龚,是个技术负责人,公司的研发人员大概160人,其中开发人员100人左右,公司刚成立两年,去年融过A轮,最近打算与红杉融B轮,计划2022年IPO。

这位姓龚主管比较直接,进来后没叫我做自我介绍,也没从我简历上写的技术问题问起,而是直接出题。

1.用户存取款流水表,当前记录的生成,依赖于前一条数据的余额以及当前存取款操作,如何保证对该表的数据读取和插入的数据一致性。

最近我刚好在看乐观锁和悲观锁的知识,所以就给出了一个乐观锁的解决办法,就是在每条记录的后面加个版本号,如果其他依赖于该数据的插入,在插入前要做版本判断,版本一致则可以插入,版本不一致则要做自旋,重做业务,直到可以插入为止。

2.如何实现分布式事务

我的回答是通过redis保存锁,来实现分布式事务。他还问我是否了解使用zookeeper来实现分布式事务,我说不了解。

1、默认也推荐使用netty框架,还有mina。
2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。
3、推荐使用zookeeper注册中心,还有redis等不推荐。
4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。
5、服务失效踢出基于zookeeper的临时节点原理。
6、采用多版本开发,不影响旧版本。
7、可以结合zipkin实现分布式服务追踪。
8、核心配置有 dubbo:service/ dubbo:reference/ dubbo:protocol/ dubbo:registry/ dubbo:application/ dubbo:provider/ dubbo:consumer/ dubbo:method/
9、默认使用dubbo协议。
10、可以直连,修改配置即可,也可以通过telnet直接某个服务。
11、流程图见dubbo.io。
12、读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。
13、使用过程中的问题可以百度
14、dubbox是当当网基于dubbo上做了一些扩展,如加了服务可restful调用,更新了开源组件等。
15、别的还有spring的spring cloud,facebook的thrift,twitter的finagle等。
1、zookeeper是一个开源的分布式协调服务框架。
2、应用场景:分布式通知/协调、负载均衡、配置中心、分布式锁、分布式队列等。
3、使用ZAB协议。
4、Paxos算法看最后文章推荐的书。
5、选举算法及流程看最后文章推荐的书。
6、节点类型:持久节点、持久顺序节点、临时节点、临时顺序节点。
7、不是永久的,一次性的,需要借助第三方工具实现重复注册。
8、部署模式:单机模式、伪集群模式、集群模式。
9、集群角色:leader、follower、observer。
10、集群规则为2N+1台,N>0,即3台。
11、集群需要一半以上的机器可用,所以,3台挂掉1台还能工作,2台不能。
12、3.5版本开始支持动态扩容。
13、java客户端:zk自带的zkclient及Apache开源的Curator。
14、chubby是google的,完全实现paxos算法,不开源。zookeeper是chubby的开源实现,使用zab协议,paxos算法的变种。
15、常用命令:ls get set create delete等。

3.如果控制不同环境的发布,比如开发环境、测试环境、生产环境各有不同的配置地址。

我的回答是:可以通过jenkins+Maven来打包,可以指定当前的配置环境,比如dev.properties、test.properties、prod.properties.

4.如果生产上有几十台机器需要打包部署,如何控制一致性。

我的回答是要升级的应用全部停掉,待升级后再提供对象的服务,最好不要搞热部署,以免出现数据不一致。

5.是否了解devOPS

我说不知道

其他的面试题目忘记了,面完后叫我等下,说要叫上面的人二面,但最后等来的是HR,一个挺帅气的90后,跟HR只是闲谈,以下是与HR面谈重点。

1.五险一金按最低标准交

2.工资只是12个月工资,项目资金也不确定

3.每月有300元补贴,公司有食堂

4.满一年有5天年假

5.满一年表现优秀会有期权

6.加班比较多

感觉该公司才刚成立两年,业务的发展也有些局限性,薪资待遇也不会有多好,技术的应用还算有用到高并发的技术,比如分布式数据库,分布式事务,但业务的发展情况限制了技术的发展。我期望的年薪是40W/年,估计该公司不太可能给得出来。当这次面试是一次练兵。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页