华为+京东数科(原京东金融)面经--Java后台开发

华为:

1.笔试中遇到的问题,如何解决的?(Scanner 如何结束循环读取数据,笔者在面试中因没有理解到Scanner类的hasNext()与hasNextLine()是阻塞方法,导致没有正确退出循环,不清楚的同学要注意了!!!)

2.给一个环,每经过3个剔除一个,如:1,2,3,4,5->1,2,4,5->2,4->4,对于任意给定的一个序列,输出最后剩下的那个值,手写代码(好像剑指offer原题)

3.看你的简历上有redis,说一下为什么不直接在缓存中使用一个buffer,而要使用redis?尴尬,东扯西扯。。。

4.多线程(所有大中型公司问到的最多的问题)

sleep()与wait()的区别?

线程1,2,3,如何执行完1再执行2再执行3,当时蒙住了一直在想锁。面试官提示join(),恍然大悟,然后把这个问题的实现代码手写了出来。

面试官给了pass。

京东数科:

京东数科问的问题就比较深也比较难了,面试感受不是很好。

1.聊项目,针对登录这一块就被问倒了,如如何通过ticket判断当前用户的登录状态,一些加密方法(非对称、对称加密等),项目是笔者最薄弱的地方,安全方面的知识更是欠缺,这里大部分都是处于被虐阶段。

尊敬的面试官,您好,咱能聊聊java基础吗?额。。。好吧

2.java常用的集合类有哪些?ArrayList与LinkedList的区别?为什么ArrayList的查找时间复杂度为1,底层实现原理是什么?

3.HashMap()以数组链表形式存储,当链表长度达到8之后,会不会产生变化?答:链表转化为红黑树,笔者解释了半天为什么长度是8的时候产生变化(空间复杂度+时间复杂度+链表达到8的概率(根据泊松分布))。面试官让聊一聊红黑树,这个我真的不太会,下来学吧。。。

4.多线程。volatile关键字,这个我。。。有印象,但不会。然后说了一下synchronized与lock的区别。

5.设计模式,主要聊了一下工厂模式。

6.jvm相关

为什么要将堆上内存分为新生代和老年代?

聊一聊g1的特点

如何判断对象是否存活(引用计数法+可达性分析)。

以上就是这两次面试的主要内容。(华为25分钟+京东数科42分钟)笔者自认自身实力目前还欠缺很多,目前已拿到三星电子西安研究所+平安科技offer,期待华为的offer平安无恙,距离京东数科的offer感觉还有一段路要走。

 

转载于:https://www.cnblogs.com/jixiegongdi/p/10685883.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值