平安科技 开发 java一面面经,给我问的明明白白的
问了很多底层的东西,给我问的明明白白的,汗都下来了
1. 多个线程a++,单个线程不管别的线程怎么改变a的值,只管自己的a的值,但是只有一个对象。
2.多线程锁的底层是怎么实现的?加锁怎么实现的?尝试获取加锁资源会怎么样?资源是怎么释放的?怎么唤醒沉睡线程?什么时候唤醒?如何解决竞争?notify等操作到底做了些啥?
3.有哪些运行时错误?空指针在什么时候发生?底层怎么判断数组越界,每次读写都要判断一次么?效率会不会很低?能不能不判断?栈什么事情stackoverflow?什么时候oom?系统给栈分配内存是怎么分配的?
4.接口,继承,多态底层实现原理。到底,底层做了什么,才实现了接口,继承,多态
5.进程间通信,进程和线程的关系
6.gc,什么时候gc?gc分代?是不是一定要stopthe world?不stop可以么?不stop的话是怎么做的?不stop要怎么保证该gc的都gc了,不该gc的都活着?
7.代码题,二分查找的多个变种#平安科技##Java工程师##面经##校招#
1. 多个线程a++,单个线程不管别的线程怎么改变a的值,只管自己的a的值,但是只有一个对象。
2.多线程锁的底层是怎么实现的?加锁怎么实现的?尝试获取加锁资源会怎么样?资源是怎么释放的?怎么唤醒沉睡线程?什么时候唤醒?如何解决竞争?notify等操作到底做了些啥?
3.有哪些运行时错误?空指针在什么时候发生?底层怎么判断数组越界,每次读写都要判断一次么?效率会不会很低?能不能不判断?栈什么事情stackoverflow?什么时候oom?系统给栈分配内存是怎么分配的?
4.接口,继承,多态底层实现原理。到底,底层做了什么,才实现了接口,继承,多态
5.进程间通信,进程和线程的关系
6.gc,什么时候gc?gc分代?是不是一定要stopthe world?不stop可以么?不stop的话是怎么做的?不stop要怎么保证该gc的都gc了,不该gc的都活着?
7.代码题,二分查找的多个变种#平安科技##Java工程师##面经##校招#