面试被虐记

茫茫题海好像旷野,突发奇想,想要记录一下曾经面试被虐的自己,看看自己当时是怎么被花式吊打的...

Python常见的几个面试题

  • 值传递和引用传递

下面代码会输出什么:

def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
    print l

f(2)
f(3,[3,2,1])
f(3)

我的错误答案: 都是值传递(来自16年8月左右的菜菜的自己)

  • 类的成员变量和继承
class Parent(object):
     x = 1
class Child1(Parent):
     pass
class Child2(Parent):
     pass

print Parent.x, Child1.x, Child2.x
Child1.x = 2
print Parent.x, Child1.x, Child2.x
Parent.x = 3
print Parent.x, Child1.x, Child2.x

我的答案, 哈哈哈,有点羞耻···child1的值我一直以为是沿用Parent的,来自16年8月笨笨的自己

  • lambda惰性相关
def multipliers():
    return [lambda x : i * x for i in range(4)]

print [m(2) for m in multipliers()]

我的答案: [0, 2, 4, 6] 面壁面壁
实际答案: [6, 6, 6, 6]

Git

  • 之前用的啥版本控制工具

答svn, git有了解一点,但是没有实际投入使用。

  • git 拉取代码用啥命令

答: clone... 哈哈哈,无力吐槽,一时想不起pull答了个clone, 面试官还能坚持问我我还是挺佩服的。

requests

  • requests里怎么传递post参数的

答: 我通过params传递的

params = json.dumps(dict) 
  • 那用json参数可以吗

答: 没有试过, 应该不可以吧。(orz, 我现在都是用json参数来传了)

这家就到这里了,很显然没有然后了。。


未完。。。


自打上次更完以后, 其实我现在都很少面试, 所以记得的题目不算多的。之前写的都是自己印象深刻被吊打的感觉。可能现在也没有那么菜了, 被吊打的比较少, 面的也少了。

MySQL

  • 多表关联查询

    大概内容就是给2张表, 关联查询, 其实就是一个join的事情, 我当时写了半天就是忘了, 怎么写怎么别扭。

  • 修改数据库表的字段名

    答: 忘记了, 都是用的工具。(太实诚了)

Selenium

  • 有没有注意到selenium每次打开浏览器都是干净的环境, 如果想和平时一样使用, 该怎么做。之前做web自动化的时候有没有遇到类似的需求?

答: selenium可以加载个人配置的, firefox有加载过, 有自己的profile文件, 在启动firefox的时候填写文件路径即可。

  • 那Chrome呢, 有没有试过?

答: 没有试过, 但是应该不难。(有时候确实有这样的需求, 比如带缓存的测试等), 对面回答没有那么简单。

后记

以后工作不开心了, 就去面试面试, 被虐下就可以回来好好工作了。大家的调休一定要花在刀刃上!

你可能感兴趣的:(面试被虐记)