(面试专用)python知识全内容整理

一、基本内容:


  • 个人信息
  • 教育背景
  • 个人技能

精通 Python编程语言并了解PEP8规范(10条规则):

点击查看PEP8编码规范

二、技能要点:


函数:

  • 语法:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]
  • 函数调用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 定义函数
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

# 调用函数
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
  • 参数传递:
    - 必备参数
    - 关键字参数
    - 默认参数
    - 不定长参数

  • 匿名函数:

# 语法:
lambda [arg1 [,arg2,.....argn]]:expression
  • return 语句
  • 变量作用域:全局变量和局部变量

装饰器:

列表生成式,生成器表达式:

            - GIL
            - 面向对象
                - __call__方法,Django源码请求入口:python manage.py runserver  WSGIHandler,__call__ 方法

                - Flask,请求入口(扩展中间件)

                - MetaClass:
                    类和对象创建流程
                    单例模式,__new__
                    其他模式:
                        工厂模式(用过),5/6个
                        Tornado,没有,Flask基于加密Cookie:Session组件(Redis,Memcache,内存)
                        反射
                            - 参考Django中间件和配置文件

    精通 Django、Tornado、Flask等Web框架,并自定义Web框架、Form、Session和Admin等组件。
        - 自定Web框架,写的不好。
            - 更清晰了解Web框架内部原理,Soceket实现Web框架
            - Tornado,异步非阻塞(IO多路复用+Socket服务端)
            - 异步非阻塞模块
            - Http协议:
                常见状态码:200 301  302  
                常见请求方法:['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
                            - 'get', 
                            - 'post', 
                            - 'put', 
                            - 'delete'

                            - options: CORS,跨站资源共享,Ajax跨域。
                                        JSONP,<script src=''></script>
                常见请求头:
                            content-type:
                            user-agent:
                            refer:
                            cookie:
        - Form(*)
        - Session(*)
        - Admin组件(基于Django)


        - Django 
            - 中间件
               应用:权限,用户登录,CSRF,缓存
            - 信号
            - ORM
                - Q
                - F
                - Extra
                - __ 
                - select_related
                - prefetch_related
                - only
                - defer
                - 不等于:
                    filter()
                    exclude()
                什么是ORM?好不好?
                其他什么ORM框架:SQLAchemy
        - 了解使用过Tornado:(可以做,)
            - Future对象
            - pymysql,SQLAchemy
            - initaizl方法
        - 了解Flask:
            - pymysql,SQLAchemy

        公司用的Flask和Tornado你可以胜任吗?
            - 可以胜任,Django学习过程中,着重看的内部原理。
            - Flask和Tornado没有
            - 语法,了解内部原理。对他进行扩展。

    精通 HTML、CSS、JavaScript、jQuery、Ajax、BootStrap、跨域等前端技术;   
        - BootStrap
        - 跨域请求
        - 作用域?
        - WebSocket: 
            - Tornado玩过聊天室,
            - 自己写socket作为服务端解析WebSocket协议
    熟悉 MySQL以及存储过程、触发器、索引等知识;
        - 默认端口:3306
        - 连表查询
        - group by having

        了解: 存储过程、触发器没有线上用,都是些SQL语句和ORM
             优势:
                    命令,存储过程名称。
             不好:
                    改不方便
        索引:
            - B+ tree
            - hash

            使用索引,建立索引,没命中。 ******
                - 


            引擎:Innodb,故事?
                    角色表
                    用户表()
                    用户角色关系表()

                    支持事务
    熟悉 Redis、Memcache和常用操作;
        - redis默认端口: 6379
        - db,16个
    熟悉 RabbitMQ 消息队列的使用;
        - RPC,官方文档
    熟悉 Python网络编程,以及多线程、多进程、协程、IO多路复用、异步非阻塞等;
        - 异步非阻塞
        - IO多路复用
        - 多线程、多进程、协程区别?池

    熟悉 Scrapy框架和分布式爬虫框架redis-scrapy组件;
    熟悉 爬虫相关Requests和BeautifulSoup模块使用;
        - Scrapy源码,
            - 信号扩展
            - 下载
            - 爬虫中间
            - 调度器
            - pipline
        - redis-scrapy
            - 去重
            - 调度器 都放在redis中
            优点:爬虫数量灵活选择
    熟悉 Restful API 接口规范
        - GET/POST/DELETE

        作业:
            调用者:
                requests
                postman

            服务:
                Tornado写了服务端:
                    get
                    post
                    delete
                    put

                    HAProxy配置文件修改
                写接口:

                    check配置是否正确

                保留原来版本,可能实现快速回滚


    熟悉 常用算法如冒泡、快排、堆排、希尔等;【low 3】

    熟悉 Git使用【协同开发】
        - Bug分支
        - review
    熟悉 WebSocket 【】
    熟悉 Linux常用命令操作(30个)

工作经历(1-2年)

    1. 以前行业 (软件开发工程师)
       CRM(权限,CURD)
    2. 其他同学在公司

        IT公司:
            - 自己公司开发业务
        外包公司:
            - 外派
            - 本公司
        其他行业:
            - 物流(互联网+)
            - 仓储(互联网+)

        运营+开发

项目经历
    销售管理系统/CRM/xxx管理系统
        学校来做:xxxx

        要点:
            - 基于角色控制权限管理
            - 基于Django中间实现用户认证
            - 动态生成用户菜单
            - 参考Django Admin实现自定义CURD组件
            - 基于Django ModelForm实现统一数据库表操作
            - 扩展Django内置分页

    自动化管理平台/CMDB/服务器管理系统: 100台: 50物理,OpenStack
        描述:告别手动维护Excel表,实现服务器资产信息自动采集以及变更记录。并且支持RBAC权限管理和为其他系统提供数据支持API,采集资产部分实现兼容Agent、SSH和SaltStack多种模式。
            - paramiko
            - SaltStack
            - API验证 
            - Linux命令
            - 后台管理
            - API

        DNS管理系统(修改配置文件)
            - 修改
        IP资源池管理系统(IP:)
            - 
        自动装机系统(KS,DHCP)
            - 首次采集网卡信息(网卡信息)
            - IPMI重启(这块网卡)
            - DHCP服务器

            : ks文件
            xx

            xx

            wget http:// ?20
            xxx





    API监控系统
        背景,公司很多API。

        汇总:Excel
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html
            - http://www.cnblogs.com/wupeiqi/articles/5433893.html



        ELK,http://10.1.10.6/url/msg


        response = requests.get('http://10.1.10.6/url/msg',data={'url':http://www.cnblogs.com/wupeiqi/articles/5433893.html,'start':'xx','end':'xxx' })

        结果:xxx

        放到redis中:
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]
            http://www.cnblogs.com/wupeiqi/articles/5433893.html:[
                "11:12:8",'xx:xx'
            ]

            yield


        hichart:

            绘图




        - 基于Tornado
        - 调用ELK接口,获取API访问数据
        - Redis
        - Hichart

    Haproxy平台接口
        项目描述:用于实现为公司基础平台部门提供API,实现动态修改Haproxy配置。
            要点:
                    - Tornado框架
                    - Restful API
                    - API验证
                    - SQLAchemy
                    - Bootstrap

面试:
- 谦卑,好学
- 礼貌:这还不简单,这个不重要
- 遇到不会:
- 这个不了解,我想学。推荐资料
- 会一点,学过点,没有太深入。公司没用过,资料没有。推荐
- 真的会:
- 了解过,讲故事。
- 反问:我用着做的这些东西简单,咱们厉害。
-

你有什么问题?
    - 有幸过来的话,团队
    - 我具体做什么?


你对加班有什么?
    - 现在我们学习阶段。

期望薪资:
    10K ,8K
    15K, 12K

    五险一金扣多少?
        - 不交
        - 最低水平
        - 全额

职业规划:
    架构师(大并发不太了解,希望多了解解决方案)

正常项目团队:
    3-5人

领导发生冲突之后?
    适合场合,找他聊出来,不能新生芥蒂。、

毕业时间太长:
    4年,
    内网运维,系统维护。

    最开始运维,技术支持,实施。没前途。。。。
    自学,网上找资源。
    自己练手项目

    跳槽后,做开发

离职?
    公司不错,- 公司发展(内部使用)--> 大并发,新知识。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值