2019秋招Java面经(未完待续)GoldArowana

随着我们从大三升到大四...秋招也开始了.秋招进行的还比较顺利,刚开始没几天,我的秋招就结束了.

到现在我玩了差不多十多天了,总想着总结一下面经,一直懒.现在就以这篇面经来宣告我的秋招结束吧.....

双非,本科

剑指offer只看了前4道题(现在是看到了第9题了).

左程云的书只看了前2道题.

这是我秋招面的第一个公司,而且也是发挥最好的面试.完全由我自己发挥,让我发挥自己的擅长之处.

1.面试官笑

我傻笑

2.请你自我介绍吧

balabala.....(我哪方面怎么怎么厉害,多厉害什么的)

3.Java集合你都熟悉哪些

util包下的基本都说了...看过几个源码

4.请你介绍一下HashMap和jdk里与其结构相似的集合

1>我就讲了讲Hash的冲突解决方法都有哪些,HashMap采用的是链表解决...红黑树优化....为什么是8,泊松定理什么的....

2>负载因子和扩容策略,连续扩容到64之类的...也就是介绍了各个变量的作用..

3>然后说了说jdk7和jdk8两个版本之间HashMap的区别.

4>讲了讲和HashTable的区别.

5>和ConcurrentHashMap的区别.

6>和IdentityHashMap的区别,

7>和WeakHashMap的区别.然后聊了一下Weak弱引用.

8>接着又说了HashSet等set集合底层使用的是HashMap.

5.讲讲你实习中在公司做的这个项目.

balabala....

(就是涉及到:

1>分布式

2>netty

3>rpc

4>protobuf

6>redis

7>手写lru缓存和优化

这几个关键词...)

6.你对synchronized关键词的了解和对并发的看法.

谈了一下多线程的概念,线程和进程的区别.举了一个死锁的demo,举了一个线程不安全的demo.

然后我就开始介绍synchronized关键词,我还比较擅长这块,就答得比较多:

1>讲了讲锁的语义.

2>synchronized关键词加在成员方法上的时候,底层是在方法表的访问标志中增加了ACC_SYNCHORONIZED.

3>synchronized关键词用在代码块的时候,底层是直接在上下代码中插入了monitorenter和monitorexit.

4>其实本质上都是moniter.

5>还讲了一下synchronized加在静态方法(类方法)上和成员方法上的区别.

7>偏向锁轻量级锁重量级锁的场景和升级的情况.而且只可升级不可降级

9>wait()方法的底层实现.讲了讲底层的_EntryList和WaitSet

10>说了说我的理解:为什么对象都可以作为synchronized代码块的锁.为什么wait方法是在Object类下

11>和lock的区别.比如不能响应中断什么的...

12>锁的粗化

13>锁的细化

14>自旋优化

15>锁消除.用StringBuffer举的例子.

7.写个sql查询.

我:sql不太会,nosql比较会.

面试官:没事,给你个简单的俩表连接查询

8.nosql你是熟悉哪种

我:redis

9.讲讲redis任意一个数据结构吧

我挑了最简单的SDS讲的...跟java的AbstractStringBuilder作对比,讲了讲两个的扩容策略和细节上的区别.

10.redis的字典和java的HashMap做个比较吧

(我当时没想出来...面试官说了值后我才想起来....扩容的时候增量同步之类的...)

11.redis的持久化

讲了两种持久化的格式,和优缺点,和新版的优化.(之前可以肉眼看持久化文件的,所以就讲了讲持久化文件的格式....现在不行了,好久都忘了)

12.线程池你用过吗

我就介绍了一下java的线程池ThreadPoolExecutor里的每个参数...

13.介绍一下线程池的拒绝策略...

我就讲了jdk实现的四种.然后讲了一下我再github上看到的另一种实现...就是放进新队列里,以更低优先权的方式进行调度.

14.线程池什么时候回收线程怎么回收线程

这块没答好....不太会...

15.链表如何优化查询效率

跳跃表

16.来写个代码吧.手写个小算法.两个有序链表合并为一个有序链表.

送分题...假装不会...一脸认真地写....

贝壳二面面试官人很直爽,很不错.只是对我简历中的第二个项目很不满意,而且我表述又不清.聊得很不好.

1.Java反射,比如如何修改一个变量.如何修改static+final同时修饰的变量.

因为static和final同时修饰时,直接用反射是无法进行修改的..回报异常.应该反射Method来去掉final修饰符.然后用反射来修改该变量.修改完了后再反射Method把final修饰符加上.

2.你为了这个项目自己实现了一个Objenesis讲讲呗.为什么这么做...

从这里开始和面试官聊得很不来....一直在聊项目....

3.谈谈你项目的架构.从客户端到缓存到redis持久化和mysql持久化等等,一致性hash等等....

4.你还有没有什么问题

有.讲了讲面试中的误解.面试官说我不能答到问题的点上.说我技术本身没有大问题,说我的沟通能力很差.

我就解释了一下我母语不是中文,面试官突然惊讶一下...

二面还是给我通过了...

1.你是哪里人

2.对加班的看法

3.为什么不留在上一家公司(我实习的公司)

4.你还有什么问题

我:没有

1.自我介绍

2.讲解项目

1>一致性哈希

2>缓存

3>微服务

4>......

3.来写个算法吧

然后我没写出来.......

4.写个sql吧,根据业务进行一个查找

墨迹了半天,我也没写出来....(中间伴随着面试官烧热水...喝热水...还听到隔壁在聊布隆过滤器...分神了)

5.linux你用过吗

我:用过,实习的时候在服务器上查个日志什么的

面试官:用过哪些命令

我:greptoptcpdump

我:不会....

6.讲一下HashMap吧

1>我就讲了讲Hash的冲突解决方法都有哪些,HashMap采用的是链表解决...红黑树优化

2>负载因子和扩容策略,介绍了各个变量的作用..

3>jdk7和jdk8两个版本之间HashMap的区别.

4>和HashTable的区别.

7.gc你熟悉吗

我:一般吧(其实我还是挺擅长gc和jvm的,我怕骄傲了不好...)

面试官:两个垃圾对象互相引用的时候,jvm会不会成功回收这两个对象.

我:会.因为不是引用计数,是根据可达性.

(然后就下一题了...我还想继续往下讲呢....jvm就这样问完了....)

8.数学学的怎么样都学过哪些科目

我:线性代数,高等数学,复变函数,概率论

面试官:考你一道数学题吧

我:数学都忘了....

面试官:没事,一道概率题.现有一个苹果,甲乙两个人都想吃.于是决定抛硬币.俩人轮流抛,直到有人抛到正面为止.谁先抛到正面,谁就可以吃苹果.当甲先抛的时候,甲有多少概率吃到苹果.

我:我用本方法推出了公式...最后算极限的时候没推出来.最后面试官告诉了我,甲乙第一轮都没抛成功的时候,第二轮重新抛的概率等于首轮抛硬币的概率......

9.数据库分库分表的设计

10.千万并发下的架构设计

11.红黑树的特性和旋转,和AVL树的区别

12.又是一道手写算法

13.你认为你哪方面做的很好,或者如何胜任这个职务呢

(我就豁出去,自己强答了一波并发,面试官当时在敲键盘,我就自言自语了)

然后我就讲了讲javacas.从Atomic类讲到jdk的c++代码,又讲了内联汇编.又讲了必须要在cmpchg指令的第二操作数是内存寻址时才可以加这个lock前缀.又讲了cmpchg指令和EAX寄存器比较时,成功和失败分别对应着哪种影响.讲了讲x86架构下lockcmpchg指令的作用.(锁总线所缓存行总线嗅探之类的).

然后又说了LockSupport下的park和unpark.

然后说了先unpark再park会导致什么..为什么会这样..

1.假设一个人不知道netty,你会怎么样给他介绍,如何使用,以及他的优点

2.为什么要nio,不用nio会怎么样

3.你对异步的理解

4.对Actor模型的认识

5.线程和性能的关系

简单来看的话,多线程执行会比单线程处理要性能高.但这不是绝对的.就像高并发下的cas争抢,会导致cpu忙轮询.线程开启过多,会给cpu很大负担.

比如synchronized的优化,让同步锁在失败时自旋,在少量争抢时是一种优化,挂起操作在少量争抢时是一种很不必要的耗时操作.但是高并发下,大规模的cas任务失败,反而会加大cpu负担,大部分的失败应该直接悲观地挂起,这样会减轻cpu的负担.

6.线程池的活跃线程个数订制在多少个比较合适需要考虑哪些因素

7.字符串,动态规划,背包.三道题你选一个手写代码.

1.你平时写代码是喜欢自动导入代码,还是喜欢每一个字母都手敲

2.开始讲公司福利

3.现场发offer

【2019年4月16日更新】

过了半年,面试内容忘了...没有及时记录下来。我就简单记录一下面试中的几个难题吧。

一面面试官,问我protobuf的原理,让我设计一个类似的框架进行rpc操作。

二面面试官,问了点cas的东西,我给他讲了atomic包里的实现。

三面面试官,问了happenbefore,java内存模型,设计模式,以及每个设计模式用和不用的区别。

THE END
1.科目四怎么做才更容易过科目四怎么做才更容易过 1. 熟悉考试规则:在开始复习之前,先了解科目四的考试规则和题型分布。科目四主要考核内容有安全文明驾驶操作要求、高速公路、恶劣气象和复杂道路条件下的安全驾驶知识等。 2. 制定学习计划:根据自己的时间安排和学习能力,制定一个合理的学习计划,确保每个知识点都能得到充分的复习。 https://m.yiche.com/baike/25883668.htm
2.科目二考了5次没过怎么办科目二考试五次未通过怎么办?如何提高通过率?作为一个学车新手,科目二的考试无疑是最难通过的一关。如果你已经连续五次考试没有通过,那么你需要进行深入的反思和总结。下面是一些建议,希望能对你有所帮助。一、分析失败原因首先,你需要分析你连续五次考试未通过的原因。是技术不过关?还是因为紧张而失误?或者是对考https://m.ybjk.com/ks/oilndp.htm
3.因为科目4一直不合格,有什么好办法,看看过来人怎么说如果科目四一直不合格,可以参考以下过来人的办法: 一、分析问题原因 首先要分析自己科目四考试不合格的原因,可能有以下几点: 知识掌握不扎实 对交通法规、安全文明驾驶知识的理解和记忆存在漏洞。比如各种交通标志、标线的含义不清楚,对不同路况下的安全驾驶要点不熟悉。 没有真正理解题目背后的知识点,只是死记硬背https://m.sohu.com/a/823435258_120012597
4.2024监理一年过4门容易吗怎么备考2024监理一年过4门容易吗 怎么备考 2024年监理工程师考试一年过4门科目的难易程度因人而异,但总体来说,如果考生能够充分准备并具备相应的专业知识和技能,一年过4门科目是有可能的。 12024监理一年过4门容易吗 监理一年过4门不容易。监理工程师考试全科共4个科目,考生在4年内通过四科即可。监理工程师考试通过率http://www.ccutu.com/688768.html
5.每天这样辅导孩子20分钟,孩子成绩飙升!4过了热情劲头,怎么坚持? 一节课结束,孩子过了“当老师”的瘾,如何能一直保持他的热情,不像上其它兴趣班一样三天打鱼两天晒网呢? 这里需要你抓住有注意两个小窍门:满意和表扬。 让孩子满意靠演技。家长不能觉得这是游戏,为了能让孩子保持积极性,在孩子讲解时,家长要扮演好“低年级学生”的角色。比如:提问时喊http://shaoer.cctv.com/m/a/index.shtml?id=ARTIzPvNOqLZvCaiyos0ESX0171107
6.机电与车辆工程学院同等学力申硕项目说明书15、如果偶尔有考试科目未过怎么办? 答:可以下次补考. 16、同等学力申硕报考、毕业论文和毕业证的办理是学生自己去办理还是由学校统一办理? 答:学生到我校报到注册后就是我校的学员,学员的学习和平常的考务工作都有专门的老师管理,我们会统一安排报考、论文答辩以及毕业证书的申请。学员可安心工作和学习,不必为不http://me.ecjtu.edu.cn/info/1017/1259.htm
7.科目一考试技巧口诀表2025新规题41如图所示,车辆在拥挤路段排队行驶时,遇有其他车辆强行穿插行驶,为保证安全,应该怎么办?A、迅速躲避B、减速或停车让行C、持续鸣喇叭警告D、提高车速不让其穿插 42在最近几个记分周期内,机动车驾驶人饮酒后驾驶机动车受到过处罚的,不得通过接受交通安全教育扣减交通违法行为记分?A、1个B、2个C、3个D、4个 43https://jxedt.jsyks.com/i48744
8.科目四难考不过怎么办4、重刷题库:科目四考不过之后,最好进行题库题目的重刷,重新多看几遍,重点关注让自己挂科的主要题型。每一次重刷题库都会有新的错题产生,最后将错题集中起来重复多看几遍、重点记忆,争取下次考试的时候能选择出正确的答案。 5、放慢考试时候的做题速度:做题速度和正确率是成反比,速度越快越容易出错,科目四的考https://www.yoojia.com/wenda/821050.html
9.科目四通过多长时间可以领取驾驶证?考完科四拿到驾驶证的天数分为:当天、一个工作日以及一个礼拜,由于地区不同,领取驾驶证的时间也各不相同,所以以当地领取时间为准。 在考完科目四后,需要接受半小时的交通事故案例警示教育,参加领证宣誓仪式,有些地区在领证宣誓仪式后就可以领取驾驶证。如果学员所在地区不是当天发放驾驶证,则可以选择去驾校自行领取https://3g.china.com/auto/mip/991942.html
10.科目四考试,太难背?只记4个字,稳稳考过90分!科目四考试,太难背?只记4个字,稳稳考过90分! 发布于2022.8.13 06:59 次播放 驾考理论技巧讲解 关注0人696粉丝 关注 评论·0 提交评论 暂无更多评论 热门视频 推荐:海贼之天道枭雄神雾归墟之九幽法师寻找命运的终点文无第一,谋无第二不思议人重生萝莉:满级战神七岁半造反从炮灰开始陈猜猜的第1本书久别重逢https://www.dongchedi.com/video/7130139130843005470