宜信面经(研发工程师)

一面

1、 马从原点在坐标系走日字,任何方向都可以走,问能不能走到所有的点?(想了半天我说可以,但是我不知道怎么证明,面试官说从原点可不可以走到(0,1),我试了一下可以,然后说既然可以移动一步,那必然可以走到所有的点)。
给一个点,问从原点走到这个点最短多少步?我刚开始说dfs,判断八个方向,然后继续判断八个方向,面试官说你这可能永远都走不到,没有结束,然后提示说你这是个八叉树,就看原点在最近的那一层,我说那就BFS,然后让我写代码,写完问我时间复杂度,问这个时间复杂度和坐标点(m,n)哪个是一个量级的,不知道,面试官说和大的那个一个量级,继续问有什么优化,我说可能会有重复的点要去重,那重复的点需要存起来,空间复杂度是多少,这个空间复杂度和(m.n)有什么关系,不知道,面试官说和大的那个平方是一个量级?(时间复杂度和空间复杂度算的脑阔疼)

二面

1、 Object有哪些方法,说几个。Hashcodeequals是干什么的

2、 Hashmap原理

3、 写代码:二叉树先序遍历

4、 写代码:树中两个节点的最短路径

三面

1、 介绍一下项目,有什么难点和挑战(没有,就是CRUD,强行说了个redis实现分布式锁,面试官就问得更加详细了,就不会了)

2、 介绍一下CountDownLatch,介绍一下线程池

3、 有一个无限长的双向链表,给一个list,里面存放的是这个链表里面的某些节点,如果几个节点是连着的,即为一个片段,问这个list里面存放的节点总共有几个片段?

例:…A<>B<>C<>D<>E<>F ….,这样的形式的双向链表,如果给的list里面有ACD三个节点,则存在两个片段,因为CD是连着的是一个片段,A单独是一个片段.

4、 上题如果是单链表怎么解决?说了思路,然后让写代码实现一下。

5、 有一个四位密码锁,需要求一个万能密码串,这个密码串可以通过滑动窗口的方式试出所有的密码,例如123456,其包含了123423453456三个密码,问这个密码串长度最短多少?答10003。问为什么?让我证明一下。(面试官提示如果10004的长度,则必然有一个密码重复,通过反证得到最少10003个)。问怎么求,求出一个即可(面试官说应该有好多个),暴力搜索。优化:在暴力的同时判断有没有重复。(回来写代码跑了一下,跑两位密码跑出来了,四位的,跑了半个小时没跑出来)

考的大多是算法,估计凉凉。

#宜信##面经##Java工程师##秋招#
全部评论
算法题和我的几乎一模一样....
点赞 回复 分享
发布于 2018-09-16 23:18
java岗吗
点赞 回复 分享
发布于 2018-09-16 21:43
现场面还是视频面
点赞 回复 分享
发布于 2018-09-16 21:47
这怎么大数据了。。。
点赞 回复 分享
发布于 2018-09-16 23:52
看起来好难的样子
点赞 回复 分享
发布于 2018-09-17 10:32
大数据岗没有问 hadoop框架,MR程序设计,大数据相关的知识吗?这问的是好多算法和数据结构的知识啊
点赞 回复 分享
发布于 2018-09-17 10:39
同学,请问你收到消息了吗,现在还没收到的是不是凉了
点赞 回复 分享
发布于 2018-09-18 15:01

相关推荐

10-30 10:16
南京大学 Java
永远的鹅孝子:给南大✌️跪了
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务