校招回忆录---骆驼篇

来源:互联网 发布:java 异步写文件 编辑:程序博客网 时间:2024/05/22 04:55

2015届[2014年秋]去哪儿网(开发工程师-安全)校招求职经历

本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处!


       需要提前说明的一点是,由于这系列文章都是记录我自身参加各大公司校招的经历,部分推断或评价(尤其是对面试官的评价)是带有很大主观色彩和一定偶然性的,不一定准确也不求客观,所以我的这些文章真的只能作为一个侧面的参考。管中窥豹,可见一斑,但切勿以偏概全哦~


一、网申

校招主页:http://star.qunar.com/main.html

       去哪儿网的所有研发类岗位,工作地点都在北京;它的网申系统只允许投递一个岗位志愿。

       去哪儿网校招网站上,对于的研发类岗位,只是把前端测试作为独立的岗位列了出来;而对于安全方面,则和 数据库、运维、客户端(iOS/Android/Wp等)、服务端、搜索、数据分析等,都统一归到开发工程师这个岗位,其要求如下:


图1 去哪儿-开发工程师的岗位需求信息描述


二、笔试(开发工程师)

       仅就今年来说,去哪儿网的三种研发类岗位共用一张笔试卷子,但是对于不同的岗位,做的题目不完全一样。就成都地区的来说,笔试一共七道题,其中1-3题是所有岗位必做的;4、5题是前端必做,其他岗位选做;6、7题是测试必做,其他岗位选做。

       题目的类型基本都是程序设计大题,大部分和字符串处理相关。下面例举了一些我当时遇到的题目:

1.题目是用英文写的,大意是:实现一个函数,要求返回不小于最小长度的字符串,字符串长度不够的,用指定的传进字符补全。    函数原型,String padString(String string, int minLength, char padChar);    其中,string:需要出现在返回结果的末尾minLength:必须值,可以为零或负,此时返回完整的字符串padChar:用于插入字符串前以补全字符串达到最小的字符串长度return:返回拼接后的字符串    例如,padStart("7",3,"0")    return "007"padStart("2010",3,"0") return "2010"2.编写一个简单的命令行参数解析函数,命令行的参数名用“-”加英文或数字组成,例如“-name”,后面跟着的部分是具体的值,命令行参数之间,参数与值之间用一个或多个连续的空格分隔。双引号中的内容作为一个整体看待,不进行解析。返回结果是被分隔开的一个个参数和值。假定命令行的内容只会包含英文、数字、空格、双引号和减号。    例如,参数为,-name Lily -age 21  -school "University of Oxford"    返回结果为,[-name Lily,-age 21,-school "University of Oxford"]3.编写一个diff函数,用来比较两个字符串的差异。如果字符在第一个字符串中存在,在第二个字符串中不存在则输出减号和相应的字符串;如果字符在第二个字符串中存在,在第一个字符串中不存在则输出加号和相应的字符串;如果存在相同的子字符串,则子字符串中的内容都不需要输出。字符的比较结果用逗号分隔,每个差异的字符串都要找出来。要求充分利用相同的子字符串,尽可能优化算法,保证输出的结果最短。作为参数的字符串中只会包含英文字母。    假设函数原型为,String diff(String a,String b)    如,a="abc",b="aabcbc",  则输出为"+a,+b,+c";a="abcde",b="bcdef", 则输出为“-a,+f”4.div宽度为100px,边框为1px,div1、div2为兄弟元素,要求分别画出以下三种情况中,二者的在页面中的表现a) .div1{position:absolute;float:left} .div2{position:absolute;float:right}b) .div1{postition:relative;float:left} .div2{position:relative;float:right}c) .div1{position:absolute;float:right} .div2{position:relative;float:left}5.请实现javascript中的indexOf功能,判断一i个字符串a中是否包含另一个字符串b。a)如果包含,需要返回匹配字符串b的位置b)如果不包含,需要返回-1    例如,indexOf("hello","el") return 1;6.请为第一题写测试用例(其实到底是第几题,俺已经不确定了~)7.太尼玛长了,记不下来……


三、面试

       去哪儿的面试一共是三面,前两面是技术面,第三面是主管面。由于知识结构和他们不是太匹配,所以第一面在运维方向已经快要倒了,当面试官已经在婉拒我的时候,我厚着脸皮自卖自夸,艰难获得安全方向的二面机会,但终究还是没撑过去,倒在了第二面,所以第三面的情况继续母鸡啦~

3.1 一面(运维/安全方向)

       一面是去电子科大清水河附近的一个酒店(可以看出电子科大还是比较受各大互联网公司重视的),进行的现场面试。面试官是一个年轻小伙,估计是从事运维工作的,因为一开始问的都是运维方面的问题,只有最后简单问了一点安全方面的问题。因为面试官觉得我和他们的岗位不是太合适,所以整个面试过程耗时很短,貌似不到半小时吧……下面是几个我还有印象的面试问题:

1.做个自我介绍2.你对运维、安全岗位职责的理解3.TCP三次握手的过程?这一过程存在哪些缺陷?TCP协议的不足之处4.Linux使用多么?命令熟么?请问IP等网络配置信息在哪个文件里?5.谈谈对DDOS的了解,DDOS的本质是什么?DDOS的防治【重点是除了防火墙以外,主机自身可以通过配置哪些参数使得更能抗DDOS】知道TCP连接的一些参数么?举个例子。【和上一问其实是有关系的】6.嗅探的层次?可不可以在IP层嗅探


3.2 二面(安全方向)

       二面采用的是电话面试的形式(据我所知,其他人基本还是去酒店参加的二三面,所以我推测,应该是这次成都地区的招聘团队里没有安全部门的面试官所致~),主要问的是Web安全方面的问题,耗时约50min。下面是几个我还有印象的面试问题:

1.知不知道OWASP的Top 10a)谈谈对SQL注入的了解,你所知道的防治措施b)解释一下XSSc)知不知道CSRF2.你知道哪些方式可以为Linux主机(安全)加固a)如果我在主机上开启了SSH服务,我应该怎样使这个服务更安全b)知不知道SELinux?c)如何知道一个文件是否被篡改?【似乎是为了引出Inotify】3.你期望的薪酬?4.你有什么要问的?


3.3 面试官的介绍

1.关于工作内容“我们这边的安全主要是在Web安全(防止被拖库)和安全运维(主要是防止DDOS,保证网站的可用性)两方面,对于其他方面的安全不是很关注”2.关于团队“我们团队大概有12个人,所有人都要做Web安全方面的事情,有几个能力强点的,还会做一些系统开发,会用到Python/java/C”



四、小结

       就网申来说,去哪儿网的校招主页做得还是不错的,也不像百度、美团些用的同一套简历模板,前端不愧是去哪儿的强项。

       就笔试来说,去哪儿网的笔试比较关注程序设计能力,特别是字符串处理方面的能力,但是难度的话,也还不高,说不定这些小函数你平时都可能顺手写过。另外,从第一题用英文出题,也从侧面反映出公司对一些英文官方文档或是英文论文的看重。

       就面试来说,去哪儿网的面试官人还是不错的【采用一种平等交流的态度,愿意从多个方面对面试者进行了解,即使觉得我和一面的岗位不合适,也在我的坚持下给了另一个方向的面试机会】,而他们在安全方向比较关心的,则是DDOS防御和Web安全这两个方面。

       另外,从题目中一般所给函数原型可以看出,Java无愧为去哪儿网内部开发的主流语言,听说不会Java的在后期面试中一般也蛮吃亏的~下图是从其校招官网上常见问题部分截下来的,其对Java的重视从中也可见一斑。


图2 去哪儿网对Java的重视


写在最后

       本文旨在从一个求职者的角度,将去哪儿网今年校招的流程、岗位需求对大家做一个简单的介绍,希望能够让有意在今后加入去哪儿网的学弟学妹们有所收获,有的放矢。作者经历有限,所以某些内容(笔试题目、面试形式等)仅针对成都地区。

       虽然我在文中记录了笔试、面试的一些真题,但是我并不希望我的读者只是冲着这些真题而来,我希望的是,你们通过我的经历,能够从侧面对去哪儿网以及它开发工程师(安全方向)的岗位有更多的了解。共勉!




1 0