java开发商城技术点运用,线程面试题及答案

阅读 91

2022-05-19

最近技术群的一个问题,引起了我的思考:

今年,还存在金三银四吗?

大家都知道程序员涨薪主要还是要靠跳槽来完成!但是我们都知道,无论是考试,还是求职,这个难度,参加人数是影响难度的一个很大因数(当然特别牛逼的大佬可以忽略这句话)。

每年高考、考研人数都在增加,这求职人数也必然是每年都会增加的,因此,就算完全不出新技术,求职的难度也会越来越大

最近和不少出去面试的朋友闲聊,都发现,两年前面试高级开发,会JUCJVM相关的知识点都是加分项,现在反而成了基本要求,不会这些,面试都是被吊起来打!

两年前,JVM会一些理论知识,比如垃圾回收算法的概念,优缺点,适用场景等都已经能达到及格水平。现在人多了,这个筛选难度也大了,现在都开始问,你有没有做过哪些JVM调优?

大家都知道,公司开发的人数比较多,就算有JVM问题,那么参与调优的人数也是有限的。公司不可能像大学一样,让每个人都能在实验室,然后每个同学都能在亲自做实验,然后老师再打分之类。

现实是,很多同学的公司,根本没有JVM调优场景,就算有,你也没有机会参与解决,现在的面试情况就是,你不会,很可能就被“误杀”。

美团

一面:

1、ConcurrentHashMap实现原理
2、HashMap实现原理
3、锁的实现原理
4、synchronized和重入所实现原理以及区别
5、一个char[]数组,里面有空格,以&结束。
6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。
7、内存溢出的场景
8、设计模式,以及自己使用的场景。
9、Sping的AOP实现原理,以及对象生成方式的种类,单例的还是原型的。

二面:

1、分布式锁。
2、逐层遍历树。
3、原子类实现
4、volatile实现原理
5、自己做的项目,自己负责的东西的介绍,以及问题溯源。
6、数据库索引实现原理,什么情况下索引会失效。
7、数据库sql优化
8、多个线程执行完了,再执行一个线程,实现方式。

三面:

1、进程和线程的区别
2、给定一个进程,有多个线程,其中一个线程出现OOM异常,判断所有线程的状态。
3、介绍自己实现的东西。以及问题抛出。

image.png

京东

一面:

1、面向对象的优点
2、java的特点
3、说一说你做的东西
4、遇到的问题

二面:

1、简历上写的所有技术基本都问了,问得有点多,自己都有点乱,会的就说 不会的就说不知道。
2、谈对工作的看法,以及对问题的态度
3、linux的知识

三面:

1、HashMap实现原理。
2、线程池的实现原理
3、让说你自己最熟悉的技术,问得很深。
4、CAS和锁的区别,以及应用场景。

四面:

领导说比较忙,简单聊了聊,问问我为什么要换工作,以及期望薪资。很快就结束了。

image.png

阿里

记得不很清楚,面试时状态不很好,面试官跳跃性比较大,而且问得很深。根本不能含糊其辞

1、基本上jvm一定要基本掌握,并发编程需要掌握,mysql使用以及优化,mysql 引擎的区别。
2、阻塞队列的实现方式
3、Conurrenthashmap实现方式
4、编程:一个很大的字符串求和。
5、编程:手写死锁。

最后

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

精彩评论(0)

0 0 举报