关于基础
项目打算招聘一个自动化运维,主要需求是python、Linux与shell脚本能力。但面试几天发现一些问题:
简历虚假
这个不管哪行,简历含水量大都是普遍存在的,看简历犀利的一比,一面是能力弱的一腿。谁都希望自己80分的能力写成120,但有时候假的有些离谱,问一两个问题就漏气了…
年龄与薪酬
目前的IT行业,最敢坐地起薪的就是27–33这年龄段的,低于范围的往往因为能力或者说跳槽经验少,而不敢要高价,高于这个年龄的感觉失去了针对年轻人的干劲与学习能力,所以起薪不算太高或者浮动好商量。当然这里说的是普遍情况,而不包含那些能力较强的精英人才。
重高端轻基础
经常你会发现,接受面试的人,上来就跟你说做过什么类似高端的、前沿的技术。你挑着问你个问题,回答的还行。反而你问一些较为基础的东西时,却回答的不尽人意。但有时候,BUG往往都发生在那些细小的基础环节。
举几个这几天的例子:
- list tuple dict set 是可迭代对象,那么字符串是否为可迭代对象?
头脑一热的,马上回答不是,但其实…
>>> from collections import Iterable
>>> isinstance('abc', Iterable)
>>> True
>>> isinstance('', Iterable)
>>> True
- 在面试中问到Python集合定义时,A说可以使用花括号包裹多种类型的数据生成集合。那创建空集合呢?A顺口就回复了一句,添加一对空的花括号…
>>> type({1,2,3})
>>> <class 'set'>
>>> type({})
>>> <class 'dict'>
>>> type(set())
>>> <class 'set'>
- 假设一个list A为[1,2,3,4],如何获取A的最后一个数据A[-1],如何向A的末尾插入数字5?A.append(5) OK,貌似他觉得我说的是插入,又不充了一个A.insert(-1,5)。index使用-1貌似是跟我之前问道的获取最后一个元素有关,但这样真的对么?
>>> A=[1,2,3,4]
>>> A.insert(-1,5)
>>> A
>>> [1, 2, 3, 5, 4]
append()方法是值在列表的末尾增加一个数据项,insert()方法是指在某个特定位置前加一个数据项。
举几个例子,也许大家看到觉得回答的有些蠢,但其实这些知识对于基础知识薄弱的一个体现。
关于Python练习
这几天一些朋友问,python基础的知识和书看了一些了,但总觉得学完了就完了,感觉学了一堆知识,没有什么深入的理解与运用。其实这些都是因为练习的太少了。针对算法可以去https://leetcode.com/中文网站https://leetcode-cn.com/去刷一些算法题,或者说是经典笔试题。
菜鸟教程上也有一套python100例的练习集合:
当然如果觉得网上刷题麻烦,也可以看看这份Python100经典练习题的PDF进行学习:
PDF下载地址:https://pan.baidu.com/s/1rVTqBBUJGBQwlQlHheFvlA 提取码:fl2k