【大疆】-Java岗-事业部一面

方向后端开发

1、自我介绍。

2、实习内容介绍,用了什么技术栈,为什么要用这些技术栈。没细问原理。

3、个人项目介绍,聊天系统大概的架构?阻塞非阻塞IO,IO多路复用机制。

4、计算机网络相关。HTTP状态码(我就说了各个数字开头的含义,具体的不记得了)。TCP四次挥手的作用是什么?如果没有四次挥手会怎么样?TCP怎么保证可靠传输?(这里建议把建立连接、ACK、重传、滑动窗口、拥塞控制都讲了,因为这些都是用来确保可靠传输的)

5、什么情况下会出现死锁?Java中怎么样操作会产生死锁?怎么避免死锁?

6、数据库索引,在模糊查询下会走索引吗?一个索引树最多可以存多少行数据?分析计算过程。

7、哈希表,底层采用了什么数据结构?为什么要采用红黑树?为什么不采用其他数据结构?其他数据结构的搜索是怎样的?红黑树是怎样的?(这个真不会)哈希表初始容量是多少?(这里记错了,说成ArrayList的了)如果我加入n个数据,会进行多少次扩容?(O(logn))扩容需要操作多少次数据?(这里我说可以采用等比数列前n项和来计算,根据扩容的倍数可知,每次rehash操作的元素个数都是上一次的两倍,一共有logn项,但我算错了,没用草稿纸就搞乱了)

8、Arrays.sort采用什么排序算法?(我说了快排,不知道是不是)为什么采用快速排序算法?为什么不采用归并排序和堆排序?除了时间复杂度和空间复杂度以外,还需要考虑什么?(排序算法稳定性)快排是稳定的吗?归并呢?

9、反转链表,说出你知道的所有的解法。(原地反转,头插法,递归算法,暴力存储)

10、给你一个大的日志,一共存了100亿个IP地址,内存1G,我要找到出现次数最大的那个。这个问题知道解法的老哥可以评论区解答下,我一直没特别搞懂,分割文件之后就不知道该怎么搞了。

11、就业方向倾向,就业地点倾向,工作时间倾向。

12、反问流程、部门业务。

总体来说,大疆很看重基础,可以看到大多数问的都是一些数据结构、计网、计算题、算法题。有几个问题没回答上,希望能有二面吧。

发表评论

后才能评论