1,final List l=new 实现;
l.add、l.add、l.add,问l的size是几?
答:3
2,一个页面,有两个产品的访问入口,怎么实现单点登陆
答:可以使用开源的cas,画了一个简单了流程图。说明登陆、验证、授权的过程;
3,我的页面上有一些优惠券,用户来领。系统该怎么涉及?
答:要考虑并发的问题,不能超发了。设计一个队列。将并发的访问已线性的方式处理,比如有1000张券,一下子进来1万人,那么我的上层服务没必要都放进来,只放1200或者稍多点的请求进去。其他的直接返回失败。
4,我作为一个服务生产者,你是一个消费者,发现调我的服务变慢了,作为开发人员。该怎么一步步去排查问题?
答:说了3点,1、查看服务的访问日志,成功的访问和失败的次数,看是不是请求超出了我的服务的负载;
2、通过sdk 提供的工具查看内存使用情况、是不是有死锁;
3、检查我的业务,是不是存在数据查询的问题,比如事务过大,处理耗时、我的业务逻辑是否合理、是不是有慢查询。
5,线上环境为linux ,我要在日志里面搜索“Exception”关键字并输出到一个文件,命令怎么写?
答:写的不好,搜索匹配字符串常用。但是没有没有导出到文件的实践,没写出来后面的命令。
6,线上环境为linux,查看8080端口被占用的情况?
答:就写出来了个netstat 后面的不记得了。(实践的少)
7,什么是对称加密,非对称加密?举几个例子
答:没回答好,当时懵了。举例也没想起几个来 MD5,des 。后来仔细想了想项目里常用的还是比较多了,文件比对、password、电子合同生成、通讯,用的都挺多。想起来也晚了。。。
8,和外部系统接口通讯,怎么防止报文被篡改?
答:这个问题,表现的最典型的地方,就是支付接口通讯的时候,除了一些必要的身份校验,认证。这个可以放到header头里面,也可以在报文里的,防篡改的话,将报文里的关键字段,按照一定的规则排列拼接后,做MD5散列。作为报文的一部分。对方收到报文后,按照相同的规则将关键字段排列拼接并MD5,和报文里的字段比对;