闲聊完毕,那么如果你想进厂,仔细阅读本篇文章,绝对会有所收获,学到一点,也不浪费这几分钟的阅读时间。
一般面试(无论几轮),都会从三个角度来考察面试者
1、技术面试
2、项目面试
3、个人综合素质面试
简单来说,你要在这三个层面,不停的加强,才能够进入大厂(这里主要是讲述的社招,校招由于学生一般没有做过什么项目,所以项目面试只是简单聊一聊,看看知识的广度以及想法)
下面仔细剖析一下这几个面试的考核重点:
一、技术面试
技术面试,顾名思义就是面试技术。那都会有哪些技术呢?
首先说一下语言方面。一般大厂不太会限制面试者的语言,因为在厂内,用什么语言的都有。拿测试人员来说,Java、Python、Golang、PHP、Ruby等都有。但就目前来看,Java和Python是使用者相对较多的语言。
下面再说一下技术面试的侧重点:在技术面试环节,问语言基础的概率会非常的大。主要考核的目的就是看你的基本功是否扎实。
拿Android举例,常见的基础技术面试题:
1 handler message loop messageQueue
2 fragment 生命周期
3 ContentProvider
4 WebView
5 BroadCastreciver 广播
6 通讯录 的 获取 ContentProvider ContentReciver 获取用户的头像,手机号码 等。
7 ListVIew 图片的错位
8 ListView 优化:convertview view 的重用
9 service 服务
10 AsyncTask() 异步任务
11 Volley
12 XUtils
13 HttpClient
14 Json 解析方式
15 XML 解析方式
*
*当然有时也会问一些算法方面的题目,**这些题目相信大家都遇到过,比如说排序,但一般大厂不这么问,假定我们有一个list = [12,4,43,16,1],会有以下几种问法:
(1)、请用时间复杂度小于O(n^2)的排序方法,对以上list进行排序
(2)、请阐述时间复杂度的表示和计算方式
……
对于算法方面,不仅仅要求解题,还要求效率,当然如果你能回答出最优解,那是最好的。
当然也还会问一些关于系统原理、性能优化方面的一些面试题:
(1)、MySQL数据库中常用的搜索引擎的区别是什么?
(2)、索引的分类及作用?索引的工作方式是什么,为什么会让查询变得快速
(3)、Linux操作系统下,你是如何监控服务器性能的
……
对于测试人员来说,还会问一些关于自动化测试以及性能测试方面的知识点:
(1)、日期控件如何定位
(2)、MySQL数据库如何监控,各指标代表了什么意思
……
关于技术面试,没有好的办法,只有不停的去学习和总结,对于技术人员来说,总结也是一种非常高效的学习方式。
二、项目面试
那什么是项目面试呢?项目面试,其实就是问一下你之前做过哪些项目,在项目中你都做了什么事情。
那问这些问题的考核重点是什么?主要的目的,还是想看一下面试者在过去的工作中是否有思考,是否对项目或公司层面有帮助。
这里我要说的是,每一个公司都会存在各种各样的问题,一个问题出现了我们的员工一般也会有四种反应:
想看一下面试者在过去的工作中是否有思考,是否对项目或公司层面有帮助。
这里我要说的是,每一个公司都会存在各种各样的问题,一个问题出现了我们的员工一般也会有四种反应: