工作两年面试蚂蚁金服(意外拿到offer)技术三面+HR1面,从线程锁到数据库 (3)

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

突然的二面

一面的时候大概是3月12号,面完等了差不多半个月才突然接到二面面试官的电话。

介绍项目

Storm怎么保证一致性

Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有tuple都被成功处理。如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?Storm提供了一套事务性组件Transaction Topology,用来解决这个问题。

Transactional Topology目前已经不再维护,由Trident来实现事务性topology,但是原理相同。

参考:https://dwz.cn/8bXRPexB

说一下hashmap以及它是否线程安全

HashMap基于哈希表的 Map 接口的实现。HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。HashMap中hash数组的默认大小是16,而且一定是2的指数。Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。HashMap 实现 Iterator,支持fast-fail。

哈希表是由数组+链表组成的,它是通过把key值进行hash来定位对象的,这样可以提供比线性存储更好的性能。

工作两年面试蚂蚁金服(意外拿到offer)技术三面+HR1面,从线程锁到数据库

文末领取面试资料

HashMap不是线程安全的。

十亿条淘宝购买记录,怎么获取出现最多的前十个

这是一道典型的有限内存的海量数据处理的题目。一般这类题目的解答无非是以下几种:

分治,hash映射,堆排序,双层桶划分,Bloom Filter,bitmap,数据库索引,mapreduce等。

具体情形都有很多不同的方案。这类题目可以到网上搜索一下,了解下套路,后面就基本都会了。

平时有没有用linux系统,怎么查看某个进程

ps aux|grep java 查看java进程ps aux 查看所有进程ps –ef|grep tomcat 查看所有有关tomcat的进程ps -ef|grep --color java 高亮要查询的关键字kill -9 19979 终止线程号位19979的进程

工作两年面试蚂蚁金服(意外拿到offer)技术三面+HR1面,从线程锁到数据库

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwggxp.html