V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  woyixinyiyi  ›  全部回复第 6 页 / 共 6 页
回复总数  110
1  2  3  4  5  6  
2019-04-25 19:29:16 +08:00
回复了 melonzzz 创建的主题 职场话题 [咱也不敢问系列]菜鸡的蚂蚁全挂面经
@melonzzz 非常感谢 发出来 让大家一起成长,我没说用二分法查找,直接暴力循环
2019-04-25 18:46:13 +08:00
回复了 melonzzz 创建的主题 职场话题 [咱也不敢问系列]菜鸡的蚂蚁全挂面经
蚂蚁金服财富事业群一面,我当面试题做了很多不会的 求指点

1,TreeSet/HashSet 区别
TreeSet 使用的是 treeMap,看是传入了比较器 comportor,如果没传入,看 key 是否实现了 comparable 接口
区别在 treeset 是拍好按照 key 排序的,hashset 使用的是 hashmap 没有排序

2,HashMap 如何解决冲突,扩容机制
hashmap,是根据 hash 函数取模定位到一个数组索引,如果该地方有值,那么久以链表( 1.8 红黑树)的显示存放数据,
扩容设计到扩容因子,好像默认的是 0.75*当前数组的大小,大于这个值就需要扩容了。原数组长度乘 2

3,ConcurrentHashMap 如何做到高并发的
jdk1.7 好像是根据分 segment 来实现的,部分 key 归到一个 segment,没看 1.7 的源码
jdk1.8
在初始化 table 的时候,第一个进入的线程使用 cas 把 sizeCtl 设置为-1,其他线程发现 sizeCtl 的值小于 0,就放弃时间片,知道 table 初始化完成
存放值 put,当数组对于值为空,(n-1)&定位到数组下标,如果当前数组对于的值为 0 的时候 cas 放入即可,
不为空,使用 synchronize 锁头结点,也就是理论上吧 map 的同步锁最多有,扩容因子乘以数组大小了


4,线程池平常怎么用
new 线程池呗,还能怎么用,自己写?结合到自己项目就是
executorService = new ThreadPoolExecutor(4, 6, 10, TimeUnit.SECONDS,
new ArrayBlockingQueue<Runnable>(maxCheckNumber) ,new ThreadFactory() {
AtomicInteger atomicInteger = new AtomicInteger(0);
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r,"checker-thread-"+atomicInteger.incrementAndGet());
if (t.isDaemon())
t.setDaemon(false);
if (t.getPriority() != Thread.NORM_PRIORITY)
t.setPriority(Thread.NORM_PRIORITY);
return t;
}
},new ThreadPoolExecutor.DiscardPolicy());
背景,线上是 4 核心 8g 内存的机器,然后这个是定时查询第三方接口的线程池。
初始化 4 个核心线程,最大为 6,存活时间 10s,设置一个定长的队列,然后命名线程名称,由于是查询任务,任务多久扔掉。

5,多个线程等待到某一节点然后统一放行有几种实现方式?
项目中久使用到了基于 CountDownLatch 的闭锁,基于 aqs 实现,维护一个 state,new 的时候初始化好线程数量,
然后线程执行的时候执行到 await 的时候,就把这个线程塞到一个双向队列中就完了,countdown 的时候用 cas 吧 state 减掉 1,为 0 就让哥哥的双向队列中的线程开始执行

6,数据库索引结构
mysql 常用 b+

7,select * from t where a=? and b>? order by c limit 0,100 如何加索引
如果是我建的话 index ( a,b,c )
根据 ab 查询到的数据,已经把 c 进行了排序了。。。

8,什么是聚簇索引和非聚簇索引
聚簇索引,mysql 的 innodb 使用的主键是聚簇索引,数据放在叶节点,数据是按照索引顺序排列的,索引和数据在一起。
如果非主键索引查询,也就是辅助索引,根据索引里面的值满足的话,可以不用回表,如果不满足,需要取出主键,在来回表使用主键查询。

非聚簇索引 myisam 索引文件和数据分开

9,介绍下 Fescar/了解 CAP 吗?redis 里的 CAP 是怎样的?
fescar 什么鬼,原谅我没听过,面试官你帮忙普及普及呗,
redis 里的 CAP 是怎样的 你要为什么呀
10,如何理解幂等?项目中接口的幂等是如何做的?
就是多次调用方法或者接口,除第一次执行外正确返回外,其他调用不会影响结果,
支付中的回调,先判断订单状态,未处理,则该状态,其他就不就行处理

11,算法题:两个有序的 list,求交集
嗯我 两层 for 循环 o(m*n),就问你怕不怕。
怕?
listm,listn
两个集合各设置一个指针 依次移动,每次都移动最小集合那边的指针 ,的一个值和另外一个比较,相等保存
2019-03-13 10:53:07 +08:00
回复了 woyixinyiyi 创建的主题 Java Java 虚拟机的思维导图
@lskjdfgl
项目挂了,重启了可以访问了。
2019-02-26 12:25:25 +08:00
回复了 smeraldo 创建的主题 Java 一个 service 引用几十个 dao 如何优化?
同意 @zhix
我这边也有个类似的,部分 service 有自己的缓存配置,

在定时器类,如果每个都去调用每个 service 的清空缓存,调用 service 太多,定时器发布事件,各类自行清空呗。
2019-02-16 20:41:16 +08:00
回复了 woyixinyiyi 创建的主题 Java Java 虚拟机的思维导图
下载 xmind 吗
http://123.206.92.114:8080/tyml/image/java 虚拟机.xmind
java 虚拟机.xmind 有空格,java 后面有空格去掉就行
2019-02-16 00:31:02 +08:00
回复了 woyixinyiyi 创建的主题 Java Java 虚拟机的思维导图
java 虚拟机.xmind
v2ex 保存的时候 中间加了空格 去掉就好
2019-02-16 00:11:55 +08:00
回复了 woyixinyiyi 创建的主题 酷工作 Java jvm 虚拟机思维导图知识点,祝各位面试顺利
第一次发帖 不好意思,忘记发他 地址了
2019-02-16 00:11:08 +08:00
回复了 woyixinyiyi 创建的主题 酷工作 Java jvm 虚拟机思维导图知识点,祝各位面试顺利
2019-01-31 09:55:29 +08:00
回复了 via 创建的主题 生活 女朋友非要让在她们老家(四线)买房,求打醒
感觉似曾相识的经历,一把辛酸泪。
毕业的时候,老婆家里说孝感很好,我家人也说孝感很好,,然后就买了
,自己再一线工作,孝感的房子从来没住过,连装修的愿望都么有。
14 年买的 5000 现在 8500 (孝感)
16 年买的 12000 现在 18000 (已经涨了一波才买的,15 年也就是 8500 的价格,武汉)。
卖掉武汉的房子,轻轻松松以后可以回去养老,
卖掉老家房子,你就只能仰望大武汉了
周志明的深入理解 java 虚拟机第二版
看了两遍这本书,针对是醍醐灌顶,很多概念
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5319 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 08:39 · PVG 16:39 · LAX 01:39 · JFK 04:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.