2018-09-12 携程面试挂经
携程是面试的第一家大公司,也是很想进的一家,听同学介绍携程去年17年来的比较晚,相对来说那个时候大家工作都找的差不多了,谁知道携程今年武汉来的这么早,没有一点点防备...8号的时候收到携程的邮件告知笔试通过了,约了12号上午十一点的,赶过去的时候等候的会议室人很多,等了不到十分钟,就有面试官开始面试。
首先自我介绍,大概讲了一下本科和研究生期间做了啥,然后面试官就开始提问。大概回忆了一下问了有:
1.RabbitMQ消息队列了解吗,知道怎么使用吗?有什么缺点呢?
答:了解一点,大概讲了一下消息队列的生产者和消费者,不过项目中用到的是单个消费者,所以面试官继续问了,如果是多个消费者同时消费一条消息呢?当时没答上来。后来问了有什么缺点,emmm,只停留在用的层面,不了解,然后面试官讲了他们主要是用kafkaMQ,性能上相对于RabbitMQ来说要好,要我下去了解。
2.MongoDB了解吗?MongoDB索引了解吗?
答:了解一点,讲了一下MongoDB的存储和表的建立、MongoDB存储形式类似于Json这些,对于索引回答了根据MongoDB的主键索引,面试官继续提问,问如果我想像关系数据库那样索引某一个字段怎么做,没回答上来。
3.看你是做.net的,对java了解吗?
答:了解一点点。
4.那么java的内存分区,你给我讲解一下?
答:java分区主要分为java栈、方法区、程序计数器、堆和本地方法栈。
5.进程间的通讯方式有哪些?
答:...忘记了。。。这个的确忘记了,回来看了下主要有管道、命名管道FIFO、消息队列、信号量和共享内存。
6.http和https的区别在什么地方?
答:讲了一下https就是http和TCP之间有一层SSL,防止钓鱼和加密,不过面试官很不满意,可是记不住了。。。
7.你知道java中新建对象有哪些方式吗?新建一个对象的过程?
答:java中可以通过new关键字、clone()方法和反序列化来新建一个实例对象。新建一个对象的过程主要分为:(1)一个对象被新建的同时也继承了原有的对象的原型;(2)执行对象类型的构造函数,同时该实例的方法和属性被this所引用,即this指向新构造的实例;(3)如果构造函数return了一个新的“对象”,那么这个对象就会取代整个new出来的结果,如果没有,那么隐式的返回this。
8.键入一个网址之后会发生什么?经过了几层?越详细越好。
答:首先进行DNS解析域名,然后将信息装入http请求报文...然后就忘记了,回答了面试官经过了四层(应用层、传输层、网络层和数据链路层)。这个问题肯定没回答好,唉,一紧张啥都忘了。
9.本科期间有学过操作系统吗?
答:(内心OS:linux一点儿都不会)本科期间专业是电子信息工程,专业课基本都是与信号处理有关的,比如信号与系统、单片机原理、微机原理、模电、数电和高频,所以没学过操作系统相关知识,不太了解linux和unix。
10.给你一个有序的二维数组,如[1,2,3][4,5,6][7,8,9],现在我要查找12这个整数是否在数组内,给出你的想法。
答:(终于来了手撕代码,而且这道题还是jianzhioffer的原题)先讲了一下从矩阵的左下角和右上角查找的方法,面试官问:你这样的复杂度是多少,回答:n。那么如果我要logn呢,我说可以用二分查找,然后讲了一下思路,也没有让我手写代码。
11.java类加载的过程?详细的接受。
答:当运行一个程序的时候,JVM启动,运行bootstrap classloader,该classloader加载java核心API,Extclassloader和Appclassloader也会在这个时候加载,然后调用Extclassloader加载扩展API,最后Appclassloader加载CLASSPATH目录下定义的class。然后面试官继续问,我想知道里面加载的具体内容,我...您说的是比如loadClass()方法这样的吗?是的...emm,不会。
12.你们之前线上笔试的时候,做的编程题酒店那一道题还记得吗?你给我讲一讲是怎么做的。
答:那一道题没有AC,我是暴力求解的。。。然后面试官继续问,这个方法不行,有没有什么更好的?想了两分钟,说面试官能给一点提示吗?他说你可以构建一个树。然后想了两分钟,没答出来,面试官详细的给我讲了一下,最后说,你们对索引的原理知道的少,这个不知道也正常,后面可以去看看,我就说好的。
13.你有什么想问我的吗?
答:之前了解到,贵公司有做.net的,不过最近在转java,请问如果进入贵公司后面的发展是怎么样的呢?答:之前做.net的基本都转java了,现在进入公司都是接受的java培训,有专门的一对一导师,然后给我讲了一下携程运用的消息队列和数据库,讲了大概四分钟左右吧,然后结束了面试。
小彩蛋:结束的时候,因为看面试官全程都在咳嗽,所以说了一下喝点药,武汉的天气反复无常。
总的来说,面试的体验总的不错,不过自己的积累很少,很多东西面试的时候就忘记了,面试官人很不错,对于不知道的或者不了解的原意跟你聊,不过说真的,携程现在java优势大,.net全程没问过任何一个.net问题,C++的更惨,五分钟就被干掉了,因为不招C++。。。