2019年8月9日携程Java开发工程师(实习生)岗面试总结

文章目录

  • 一.前言
  • 二.面试流程
    • 1.笔试
    • 2.面试
  • 三.总结

一.前言

  1. 渠道:Boss直聘
  2. 地点:上海
  3. 薪资:100-120/天(不得不吐槽真的低)

二.面试流程

1.笔试

笔试半个小时,一页纸,题不多,几道选择题,一道编程题,具体多少个不记得。以下全凭记忆复述。
(1)如果某系统15*4=112成立,则系统采用的是()进制。
A 6         B 7         C 8         D 9

这题在牛客网上找的,https://www.nowcoder.com/questionTerminal/3ffcdf0c8c9c470bae6e3c567df4bb31?toCommentId=46640 ,原题不是这道,但类型相似,具体数值以及进制要比这道大,考察进制的转换。牛客网上的解答很详细,就不叙述了。

(2)二叉树的遍历,根据前序遍历结果和中序遍历的结果求后序遍历

这题怪自己没好好复习数据结构,基本抓瞎,实际上应该很简单,稍微花点时间就可以推出

(3)下列哪个操作能使得flag的第二个bit置空
A flag>>=2        B flag^=~2

后续选项确实不记得了,主要考察平常开发中很少用到的操作符,按位异或,按位或,左移等等。

(4)已知一颗哈夫曼树的叶子节点数为4,求总共有几个节点

选项什么的就不重要了,计算方式就是4+4/2+2/2=7

(5)一个长度为99的循环链表,指针A和指针B都指向了链表中的同一个节点,A以步长为1向前移动,B以步长为3向前移动,一共需要同时移动多少步A和B才能再次指向同一个节点?

牛客网原题:https://www.nowcoder.com/questionTerminal/e4028f512dde4742b79da87f356286b0?toCommentId=39580

(6)在最坏情况下,下列哪个排序算法的时间复杂度最低?

牛客网原题:https://www.nowcoder.com/questionTerminal/090b6c6a9b15441c8d47183bdf656212

其实还有几道题,但确实记不起来,都不是什么难题,估计牛客网上都能找到原题。剩下的一道编程题就是一个典型的二分查找,没什么好说的。

2.面试

面试官一上来就直接问问题,没有让我自我介绍啥的,关于这一点只能说不同的公司不同的面试官习惯都不一样,所以说面试真的有运气成分在内。以下为记忆中问到的问题,排序不代表先后:

  • Q:你的项目中有哪些值得一说的,或者说遇到过什么样的问题,最后是如何解决的?
    A: 这个问题每个人都有自己的解答,但我说的不是很好,因为项目确实简单。

  • Q:Java面向对象的三大特征知道吧?说下你开发过程中什么时候要用到抽象和继承。
    A: 我只能说出抽象和继承的概念,让我说什么时候用到,有点不知所云。现在想想其实问的就是抽象和继承的应用和意义。

  • Q:你对gc了解吗?
    A:回答不知道。面试之前在网上看到不少面试过携程的人都说必考gc,然而我觉得招聘信息上没写于是没看,一时间只知道它叫垃圾回收机制,除此之外一无所知。因为开发过程中确实很少触及底层,平时也没有啥积累。面试官之后也肯定我的说法,但也告诉我学习gc的必要性,项目在开发乃至运行过程中都得考虑。

  • Q:Java中引用类型有几种?
    A:当时脑子一抽回答不知道,甚至反问数据类型不是只有两种吗,引用类型还有几种?现在想想自己真的智障。我问完后,面试官无奈的笑着说我了解了。

    Java的引用类型只有三种,分别是类(class)、接口(interface)、数组。

  • Q:指着我的笔试题的最后一道编程题问我还知道其他查找方法吗,说说各自的优缺点。
    A: 回答的确实不好,涉猎不多。

  • Q:对Java集合有哪些了解,hashmap知道吗
    A:着重说了hashmap,这个几乎是必考的,我只说了下hash的底层实现就没让我说了。

  • Q:平常遇到问题是怎么学习的,遇到新的技术是怎么学习的?
    A: 这个问题仁者见仁智者见智,没有标准答案。我说完后,面试管也说了很多他的想法,总之就是强调掌握底层原理,光会用是没有前途的。

  • 手写代码,题目:找到字符串中的最长字串
    我回答不会写,只说了思路,因为心里已经不报任何希望,不想浪费时间。面试官倒是很意外的说我的思路是对的,为什么不会写呢。我只能说太久不敲代码,生疏了。

暂时只能想起来以上这些题目,但也八九不离十了。后续想起来再写。

三.总结

自我评价就是意料之中,大公司基本考察较多的是底层原理,数据结构与算法。我掌握的那点基础以及框架的使用根本入不了法眼。另外一个感觉就是,问的问题和招聘要求上的是有出入的,准备的很多知识都没问道。一往深处问就露馅。
前路漫漫,还需努力。虽然没戏了,但至少知道了努力的方向。

你可能感兴趣的:(面试总结,携程,Java面试)