IT技术博客大学习 共学习 共进步

校园招聘的简单总结

笑遍世界 2015-11-02 23:39:48 浏览 4,503 次

   本周前几天在西安做校园招聘的面试工作,也是第一次出去参加校园招聘,稍微写一下感悟和我面试学生的技术问题。

   本次校招笔试面试分为:线上笔试、技术第一面、技术第二面、HR面试。我是做测试开发工程师和Ruby开发工程师的技术一面面试官,同时也做了测试开发专项题的阅卷人。

   笔试:这次是分为数字、抽象、归纳、推理等方面的选择题,和计算机技术方面的选择题和非选择题。前一部分数理逻辑,大约和公务员笔试题类似,或许能通过这些看人的逻辑和分析能力(PS:我也不知道这个是否有必要)。技术选择题包含C++、Java、算法等几个方面;技术非选择题,包括java通用、算法通用、测试专用等3个题。

   面试我一般是先问几个笔试中简单算法题,有两种情况比较受欢迎:1.笔试成绩很好,面试问道笔试题目也能流畅的作答;2.笔试中做错了,但是事后去做了学习研究,面试中坦承自己的不足并说明之后做了一些功课的。然后一般会问数据结构和算法方面的基础,如:链表、二叉树、排序算法之类的。此外,就是根据同学简历中是否提到C/C++/Java/Python、TCP/IP、HTTP、Linux、SQL等技术,提到的就会问一点儿。最后一块,就是看以前做过什么项目,挑跟工作相关的或者有趣的问问,偶尔会了解一下具体细节。当然整个过程中,同学对事情的描述是否清晰、思路是否有条理和考虑周全、是否坦诚,等都是间接考察的。

   第二面面试主要考察一些技术技术和项目综合能力、入职意愿等;HR面试主要看人是否聪明、逻辑是否清晰、对公司的兴趣、入职意愿等内容。

   总的来说,比较聪明而且做了充分准备的同学是比较受欢迎的,这些准备包括:1.技术知识方面  2.所面试公司的产品熟悉程度  3.较清晰的职业规划(当然很少有人毕业前就很清晰的,但应该有一些思考,并且尽量与应聘职位有所契合) 4.表现出对公司和职位的兴趣,很想得到这个工作(面试官是看得出来的)。这次,就有一个同学在第一天一面后,第二天来参加二面是带着对我们公司网站的一个测试报告过来的,包括功能、易用性、建议等方面的内容,就给我们留下了较深的印象。

   想想自己刚毕业那会儿,如果来参加我自己今天的面试,估计有可能会被挂掉;不禁感叹,这两年对测试开发工程师职位招聘的要求还是比以前高了一些的(至少从计算机技术能力方面是这样)。还感叹,自己多年前毕业时参加校招时的幸运(第二面面试几乎被刷掉,但第一面面试官觉得我不错才去力挺让我保留到第三面)才进了某知名互联网公司,否则自己现在的工作情况将会有极大的不同,对此我一直非常感恩。所以,有时校招找工作也得看缘分了,如果实力相差不大的情况下。

   最后来两个我面过的题目吧,我自己也简单用Python实现了一把。

   1.求整数n的阶乘n!的末尾有多少个0? (如:50!的末尾就有12个0)

   实现代码:https://github.com/smilejay/python/blob/master/py2015/zero_cnt_of_factorial.py

View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'''
calculate how many zero(0)s in the end of n!.
'''
 
 
def zero_cnt_of_factorial(num=50):
    count = 0
    delta = 5
    m = 5
    while m <= num:
        count += 1
        m1 = m / delta
        while m1 > 0:
            if m1 % delta == 0:
                count += 1
            m1 = m1 / delta
        m += 5
    return count
 
if __name__ == '__main__':
    n = int(raw_input('Enter a number: '))
    print "%d! has %d zeros in the end." % (n, zero_cnt_of_factorial(n))

   2. 买啤酒问题:假设你的有n(n=10)元钱,一瓶啤酒的价格是2元,每3个空瓶可以换取一瓶啤酒,请问你最多可以喝到多少瓶啤酒?

   实现代码:https://github.com/smilejay/python/blob/master/py2015/beer.py

View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'''
calculate how many bottles of beer you can drink.
1. money: n RMB (e.g. n=10)
2. price: 2 RMB / bottle
3. 3 empty bottles --> 1 bottle of beer
'''
 
 
def bottles_cnt_beer(money=10):
    price = 2
    m = 3   # m empty bottles --> 1 bottle of beer
    count = money / price
    empty_cnt = money / price
    while empty_cnt >= m:
        count += empty_cnt / m
        empty_cnt = (empty_cnt / m) + (empty_cnt % m)
    return count
 
if __name__ == '__main__':
    n = int(raw_input('Enter a number: '))
    print "you can drink %d bottles of beer." % bottles_cnt_beer(n)

建议继续学习

  1. 招聘技巧一二 (阅读 17,143)
  2. 各公司对前端开发的职位描述 (阅读 10,284)
  3. 再谈“我是怎么招聘程序员的” (阅读 8,643)
  4. 怎么样才是好的程序员 (阅读 7,545)
  5. 为什么招不到人 (阅读 7,444)
  6. 互联网的人才储备 (阅读 4,846)
  7. 创业与招聘 (阅读 4,342)
  8. 校招经验——写给找工作的同学们 (阅读 4,184)
  9. 说说招人的事儿 (阅读 3,861)
  10. 我们需要怎么样的你 (阅读 3,764)