茫茫题海好像旷野,突发奇想,想要记录一下曾经面试被虐的自己,看看自己当时是怎么被花式吊打的...
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呢, 有没有试过?
答: 没有试过, 但是应该不难。(有时候确实有这样的需求, 比如带缓存的测试等), 对面回答没有那么简单。
后记
以后工作不开心了, 就去面试面试, 被虐下就可以回来好好工作了。大家的调休一定要花在刀刃上!
网友评论