面试如何提问以及获取想要的内容

面试过程如何提问是个问题,首先要明确以下几个问题:
1.这个问题想要get什么?
2.怎么样引导候选人回答到期望的点上
3.怎么评价候选人水平

以下是总结的一些面试问题:

综合

1 简单介绍自己,包括:经历、擅长项

get 了解背景
get 性格
get 语言组织能力
get 做事思路
get 自信力

2 从候选人简历中挑选一个项目让其描述

get 思维逻辑
get 业务能力
ask 项目中具体负责什么工作 
    get 项目参与度
    get 推进能力
    get 遇到问题解决能力

3 从候选人简历中挑选一个技术点提问

get 简历中”熟悉xx技能“ 熟悉的定义
get 简历水分

语言php

1.当前正在使用的版本?

ask 7与5 有啥区别? 7中有啥特性?
    get 候选是否对php底层了解 zval结构变化
    get 候选人对php的认知 (一般5年经验的人至少用过php5.6 可间接判断工龄)
ask 视候选人回答中提到的问题 做进一步语言细节考察

2.语言细节问题

ask array_column 是干啥的?
ask 函数可变参数 (...方式,没有...之前怎么实现get_func_arg)
ask register_shutdown_function 函数是否了解
    ask register_shutdown_function函数与析构函数的顺序
ask 知道哪些魔术方法 
ask " 与 ' 区别?
  1. 画出一个典型的PHP网站架构 (浏览器 - nginx - fpm )
    get 对整体的了解
    ask PHP-FPM 与 Nginx 怎么通信的?

    get 通过fastcgi协议 网络方式 通常9000端口 和 unix方式

    ask 500、502 与 504 错误码 ,如何模拟出一个502错误码
    ask 499 错误码是怎么回事儿
    ask 浏览器-nginx-fpm 这个线路分别可以在什么地方加缓存?

    get 浏览器缓存 (强缓存、若缓存)304状态码
    get nginx配置缓存 (fastcgi_cache\proxy_cache)
    

mysql

  1. innodb索引有哪些
    get 主键索引、唯一索引、普通索引
    get 聚簇索引非聚簇索引
    get 最左原则
    get btree 与 b+tree区别(额外get 有些人把二叉树和b树混为一谈)
    get 覆盖索引
  2. mysql事务隔离级别有哪些?
    get 四个隔离级别、mysql默认是哪个
    get 对脏读、幻读的理解
    ask 事务原则都有什么(ACID)
  3. innodb都有哪些锁?
    get 表、行锁、间隙锁、临建锁

    ask 间隙锁为了解决什么问题(幻读)

    ask 一般我们怎么加锁 (读写锁/共享锁、排他锁)

    get for upate / lock on share
  4. 怎么优化一条sql,有哪些方法
    get 候选人对sql的应用
    get explain 方法使用 具体的指标等了解情况
    get show profile 方法的使用
  5. 除了innodb还知道其他索引吗?一般候选人会说myisam, 继续问还知道其他的吗?
    get 如候选人能描述出hash索引 可追问hash 与innodb 或myisam最大区别是啥?
  6. 其他问题
    ask 主从复制原理

    get redo undo 

    ask 如何查看主从延时

    get show status

    ask binlog格式有哪些

    get row格式
    get 对binlog的监听
    

语言golang (这块儿写的简单了)

  1. 切片数组 区别?
  2. panic捕获,defer执行时期
  3. GMP调度模型
  4. context是什么
  5. 遇到过OOM吗?应该注意什么?

发表新评论