1. HR该如何面试技术人员
首先是该人是否容易相处?有许多IT精英人才,但却不易工作与相处在一起回。在团队中,这样的答人是不受欢迎的。我们所需的人才必须要能融入到团队中去。
其次就是看你聪不聪明,是否有求知欲?是否有快速学习能力?是否有良好的适应能力?是否贪图安逸,还是勇于挑战新鲜事物?
最后才是评定应聘者的IT专业技能是否符合职位要求?之所以将这一因素放在最后,是因为如果一名应聘者既聪明、又有进取心,并有良好的适应能力,但却不具备我们所要求的所有技能,我依然会考虑聘用他,因为他有能力快速学会新的IT技能。
2. 技术面试会问很多技术问题吗
笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,实在是没准备好要去面试,就推掉了几家公司的面试了。正因为笔者也很久没有面试了,笔者也想去面试学习一下,闲话少说,下面就分享给大家笔者在2018年1月4号上午10点30分的面试经历:
首先,猎头或者公司人资会把公司的介绍及岗位要求发到你邮箱(或者QQ、微信),下面这份是猎头发给我的岗位说明,为了职业道德操守,公司的介绍和面试通知信息我就不贴出来了,我就把岗位要求贴出来:
职位描述:
1、 负责应用服务器的安装、配置、优化与维护;
2、 负责应用系统的日志信息备份、管理、维护与分析;
3、 负责应用系统的日常监测于维护、故障处理、性能分析与优化;
4、 负责应用部署系统、环境配置系统、监控系统的开发、部署、升级与维护,建设高性能的运维平台。
岗位要求:
1、 熟悉Linux操作系统的基础知识,熟练使用Linux常用操作命令;
2、 熟练配置Nginx、HAproxy 等应用相关软件的部署、配置与优化维护;
3、 熟悉网络基础知识、熟悉TCP/IP的工作原理,会配交换机或路由器,能熟练的对网络情况进行分析
4、 熟悉shell/perl/python中的一种或多种进行运维程序的开发;
5、 熟悉Nagios,Ganglia等监控软件
看着上面的要求大家是不是觉得要求也不高啊,你要细看就会发现,这家公司要求的还挺多,不仅要会网络知识(熟悉TCP/IP好像是每家单位的都会写这样的要求),还要会开发技能。相信很多做运维的兄弟在网络这一块是个头疼的事情,都对交换机和路由器不怎么会配置和管理。
然后,笔者详细了解他们公司,了解岗位要求,在突击复习一下可能会问到的知识点和技术点。到了面试的这天时间,早早的起床,把牙一定要刷干净,特别是有口臭的兄弟,最好准备点口香糖,到达面试公司前嚼块口香糖,以免因为口气的原因熏到面试官,让你在面试官心里减分。早点要记得吃,如果你是下午面试的话也要吃午饭,吃早点了精气神就有了。还要注意,带上你的简历和一支笔,虽然他们那边也会有你的简历,为了以防万一还是准备好简历。
最后,关键点来了,就是和面试官沟通了,有笔试的公司会让你做些面试题,没有笔试就直接和面试官聊了,下面是我和面试官沟通完之后记住的一些问题,分享给大家看一下,笔者一共记住了7个问题,好像还有两个问题实在想不起来了,如果大家有更恰当的回答一定要贴出来一起探讨和进步:
1、介绍下自己?(几乎每家公司首先都会让你做个自我介绍,好像是必修课一样)
笔者回答:此处省略笔者的自我介绍,笔者建议介绍自己的时间不宜过长,3-4分钟为宜,说多了面试官会觉得你太啰嗦了。说太少了也不行,那样会让人感觉你的经历太简单了、太空了。正常情况下,一般你在做自我介绍的同时,面试官这个时候在看你的简历,他需要一边看简历、一边听你介绍自己,如果你说个几句话就把自己介绍完了,他肯定还没缓过神来,对你的映像会减分的。在介绍的同时思维要清晰,逻辑要清楚,最好是根据你简历上写的经历来介绍,这样可以把面试官的思路带到你这里来,让他思路跟着你走。不要东扯一句,西扯一句。竟量少介绍自己的性格、爱好(最好能不说就不说),你可以简单罗列干过几家公司(最多罗列3家公司/也包含目前所在的公司,注意顺序不要乱),都在那几家公司负责什么工作,都用过什么技术,在着重介绍一下你目前所在的公司是负责哪些工作的,可以稍微详细一点介绍,不要让面试官听着晕头转向的感觉。
2、灰度发布如何实现?
笔者回答:其实对这个问题笔者也答的不好,就不写出来误导大家了。大家有好的方法可以共享出来。不过笔事后在知呼上看到了一位网友的建议觉得不错,大家可以参考看一下 :https://www.hu.com/question/20584476
3、Mongodb熟悉吗,一般部署几台?
笔者回答:部署过,没有深入研究过,一般mongodb部署主从、或者mongodb分片集群;建议3台或5台服务器来部署。MongoDB分片的基本思想就是将集合切分成小块。这些块分散到若干片里面,每个片只负责总数据的一部分。 对于客户端来说,无需知道数据被拆分了,也无需知道服务端哪个分片对应哪些数据。数据在分片之前需要运行一个路由进程,进程名为mongos。这个路由器知道所有数据的存放位置,知道数据和片的对应关系。对客户端来说,它仅知道连接了一个普通的mongod,在请求数据的过程中,通过路由器上的数据和片的对应关系,路由到目标数据所在的片上,如果请求有了回应,路由器将其收集起来回送给客户端。
4、如何发布和回滚,用jenkins又是怎么实现?
笔者回答:发布:jenkins配置好代码路径(SVN或GIT),然后拉代码,打tag。需要编译就编译,编译之后推送到发布服务器(jenkins里面可以调脚本),然后从分发服务器往下分发到业务服务器上。
回滚:按照版本号到发布服务器找到对应的版本推送
5、Tomcat工作模式?
笔者回答:Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:
Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;
Tomcat作为独立服务器:请求来自于web浏览器;
6、监控用什么实现的?
笔者回答:现在公司的业务都跑在阿里云上,我们首选的监控就是用阿里云监控,阿里云监控自带了ECS、RDS等服务的监控模板,可结合自定义报警规则来触发监控项。上家公司的业务是托管在IDC,用的是zabbix监控方案,zabbix图形界面丰富,也自带很多监控模板,特别是多个分区、多个网卡等自动发现并进行监控做得非常不错,不过需要在每台客户机(被监控端)安装zabbix agent。
7、你是怎么备份数据的,包括数据库备份?
笔者回答:在生产环境下,不管是应用数据、还是数据库数据首先在部署的时候就会有主从架构、或者集群,这本身就是属于数据的热备份;其实考虑冷备份,用专门一台服务器做为备份服务器,比如可以用rsync+inotify配合计划任务来实现数据的冷备份,如果是发版的包备份,正常情况下有台发布服务器,每次发版都会保存好发版的包。
总结
总结一下面试注意几点事项,可能笔者也说得不太对,为了我们运维工作的兄弟们都能拿到高薪,大家一定要指证出来一起进步、一起探讨:
第一,你要对自己的简历很熟悉,简历上的写的技能自己一定要能说出个一二,因为面试官的很多问题都会挑你简历上写的问。比如你简历上写了这么一条技能“熟悉mysql数据库的部署安装及原理”。你即然写了这么一条技能,你在怎么不熟悉你也要了解mysql的原理,能说出个大概意思。万一面试官问到了你写的这一条,你都答不上来,那在他心里你又减分了,基本上这次面试希望不大。
第二,如果面试官问到你不会的问题,你就说这个不太熟悉,没有具体研究过,千万别不懂装懂,还扯一堆没用的话题来掩饰,这样只会让面试官反感你。
第三,准备充分,竟可能多的记住原理性的知识,一般面试问的多的就是原理。很少问具体的配置文件是怎么配置的。面试前也要了解清楚“职位描述”和“岗位要求”,虽然有时候大多数不会问到岗位要求的问题,但也要了解和熟悉。
第四,面试完后一定要总结,尽量记住面试官问的每一个问题,回去记录下来,如果问到不会的问题,事后要立马查网络或者找朋友搞清楚、弄明白,这样你才能记劳,下次面试说不定又问到同样的问题。
问完之后,面试官就跟我聊薪资待遇了,问我多少钱能达到自己的要求,我就不便透露了,可以私聊,哈哈,后续笔者会陆陆续续更新以前面试的经历和问题,有需要的朋友可以转载或者收藏起来一起讨论。
基于大家热情高昂的气氛,笔者又花了一个下午的时间回忆并整理在2017年2月24号笔者在东三环边上(快到东四环了,没有地铁过去,到了四惠还要转公交车)的一家传媒公司的面试经历,还好笔者有做笔记的习惯,把之前面试的问题都记录在案,这一次的面试笔者可是记忆犹新,因为这次这家公司都跟笔者发offer了,实在是真心不想去这家公司就找原因推掉了,大家可别学我这么不靠谱。下面是这家公司中的岗位要求说明:
岗位职责:
1、负责公司产品的版本控制、构建和发布管理;
2、负责公司统一配置库管理工作,权限管理与分配准确及时,定期完成配置备份;
3、负责公司内部开发/测试服务器的运行管理工作;
4、负责Linux操作系统的安装、配置、监控和维护、问题处理、软件升级、 数据备份、应急响应、故障排除等、保证线上环境的稳定运行;
5、负责支撑平台24×7稳定运行,并进行前瞻性容量规划;
6、负责公司机房服务器日常维护及网络系统安装、部署、维护工作。
岗位要求:
1、计算机相关专业本科及以上学历,2年以上运维或配置管理工作经验;
2、至少熟悉一种监控系统搭建,如Nagios/Zabbix/等;
3、至少熟悉一种集群管理工具,如Ansible/SaltStack等;
4、有使用集成发布工具发布构建经验优先。比如:bamboo或者Jenkins;
5、熟悉Unix/Linux操作系统,熟悉Weblogic/tomcat等中间件,能够编写shell脚本,熟悉软件开发过程及过程产品,有一定的网络基础;
6、熟悉rsyslog, flume等日志收集和处理系统;
7、具有强烈的安全意识及较强的沟通协调和学习能力,良好的团队合作精神,工作积极主动。
过去之后,前台美眉把我带到他们公司的地下室,我扫视了一下周围的环境,貌似旁边就是机房,因为我听到服务器的声音。等了几分钟,面试官下来了,面试官目测比较瘦,看着跟我身材差不多(应该不到120),他说他是负责运维部的,然后开始就叫我先自我介绍,都是一个套路,免不了介绍的,所以兄弟们一定要把自我介绍练好。然后开始问我问题了,跟面试官聊得还行,问我应该有不下10个以上的问题,我记住了下面有10个问题:
1、LVS负载的原理,和Nginx负载有啥区别?
笔者回答:这个问题我觉得面试官司没问好,正常都会这么问“LVS有哪些负载均衡技术和调度算法?"。我回答就是按我说的这种问法回答的,反正他也频繁点头,当然,笔者回答的可能没有下面我整理出来的那么详细,大概意思我都说明白了。
LVS是Liunx虚拟服务器的简称,利用LVS提供的负载均衡技术和linux操作系统可实现高性能、高可用的服务器集群,一般LVS都是位于整个集群系统的最前端,由一台或者多台负载调度器(Director Server)组成,分发给应用服务器(Real Server)。它是工作在4层(也就是TCP/IP中的传输层),LVS是基于IP负载均衡技术的IPVS模块来实现的,IPVS实现负载均衡机制有三种,分别是NAT、TUN和DR,详述如下:
VS/NAT: 即(Virtual Server via Network Address Translation)
也就是网络地址翻译技术实现虚拟服务器,当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口也改成选定的Real Server的相应端口,最后将报文请求发送到选定的Real Server。在服务器端得到数据后,Real Server返回数据给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。
可以看出,在NAT方式下,用户请求和响应报文都必须经过Director Server地址重写,当用户请求越来越多时,调度器的处理能力将称为瓶颈。
VS/TUN :即(Virtual Server via IP Tunneling)
也就是IP隧道技术实现虚拟服务器。它的连接调度和管理与VS/NAT方式一样,只是它的报文转发方法不同,VS/TUN方式中,调度器采用IP隧道技术将用户请求转发到某个Real Server,而这个Real Server将直接响应用户的请求,不再经过前端调度器,此外,对Real Server的地域位置没有要求,可以和Director Server位于同一个网段,也可以是独立的一个网络。因此,在TUN方式中,调度器将只处理用户的报文请求,集群系统的吞吐量大大提高。
VS/DR: 即(Virtual Server via Direct Routing)
也就是用直接路由技术实现虚拟服务器。它的连接调度和管理与VS/NAT和VS/TUN中的一样,但它的报文转发方法又有不同,VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是三种负载调度机制中性能最高最好的,但是必须要求Director Server与Real Server都有一块网卡连在同一物理网段上。
回答负载调度算法,IPVS实现在八种负载调度算法,我们常用的有四种调度算法(轮叫调度、加权轮叫调度、最少链接调度、加权最少链接调度)。一般说了这四种就够了,也不会需要你详细解释这四种算法的。你只要把上面3种负载均衡技术讲明白面试官就对这道问题很满意了。接下来你在简单说下与nginx的区别:
LVS的优点:
抗负载能力强、工作在第4层仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的;无流量,同时保证了均衡器IO的性能不会受到大流量的影响;
工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat;
应用范围比较广,可以对所有应用做负载均衡;
配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率。
LVS的缺点:
软件本身不支持正则处理,不能做动静分离,这就凸显了Nginx/HAProxy+Keepalived的优势。
如果网站应用比较庞大,LVS/DR+Keepalived就比较复杂了,特别是后面有Windows Server应用的机器,实施及配置还有维护过程就比较麻烦,相对而言,Nginx/HAProxy+Keepalived就简单一点
Nginx的优点:
工作在OSI第7层,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则比HAProxy更为强大和灵活;
Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在;
Nginx安装和配置比较简单,测试起来比较方便;
可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量;
Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点;
Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP现在也是非常流行的web环境,大有和LAMP环境分庭抗礼之势,Nginx在处理静态页面、特别是抗高并发方面相对apache有优势;
Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,有需求的朋友可以考虑用其作为反向代理加速器;
Nginx的缺点:
Nginx不支持url来检测。
Nginx仅能支持http和Email,这个它的弱势。
Nginx的Session的保持,Cookie的引导能力相对欠缺。
2、redis集群的原理,redis分片是怎么实现的,你们公司redis用在了哪些环境?
笔者回答:reids集群原理:
其实它的原理不是三两句话能说明白的,redis 3.0版本之前是不支持集群的,官方推荐最大的节点数量为1000,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用、可扩展等问题。集群可以将数据自动切分(split)到多个节点,当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。
redis分片:
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。当数据量大的时候,把数据分散存入多个数据库中,减少单节点的连接压力,实现海量数据存储。分片部署方式一般分为以下三种:
(1)在客户端做分片;这种方式在客户端确定要连接的redis实例,然后直接访问相应的redis实例;
(2)在代理中做分片;这种方式中,客户端并不直接访问redis实例,它也不知道自己要访问的具体是哪个redis实例,而是由代理转发请求和结果;其工作过程为:客户端先将请求发送给代理,代理通过分片算法确定要访问的是哪个redis实例,然后将请求发送给相应的redis实例,redis实例将结果返回给代理,代理最后将结果返回给客户端。
(3)在redis服务器端做分片;这种方式被称为“查询路由”,在这种方式中客户端随机选择一个redis实例发送请求,如果所请求的内容不再当前redis实例中它会负责将请求转交给正确的redis实例,也有的实现中,redis实例不会转发请求,而是将正确redis的信息发给客户端,由客户端再去向正确的redis实例发送请求。
redis用在了哪些环境:
java、php环境用到了redis,主要缓存有登录用户信息数据、设备详情数据、会员签到数据等
3、你会怎么统计当前访问的IP,并排序?
笔者回答:统计用户的访问IP,用awk结合uniq、sort过滤access.log日志就能统计并排序好。一般这么回答就够了,当然你还可以说出其它方式来统计,这都是你的加分项。
4、你会使用哪些虚拟化技术?
笔者回答:vmware vsphere及kvm,我用得比较多的是vmware vsphere虚拟化,几本上生产环境都用的vmware vsphere,kvm我是用在测试环境中使用。vmware 是属于原生架构虚拟化技术,也就是可直接在硬件上运行。kvm属于寄居架构的虚拟化技术,它是依托在系统之上运行。vmware vcenter
管理上比较方便,图形管理界面功能很强大,稳定性强,一般比较适合企业使用。KVM管理界面稍差点,需要管理人员花费点时间学习它的维护管理技术。
5、假如有人反应,调取后端接口时特别慢,你会如何排查?
笔者回答:其实这种问题都没有具体答案,只是看你回答的内容与面试官契合度有多高,能不能说到他想要的点上,主要是看你排查问题的思路。我是这么说的:问清楚反应的人哪个服务应用或者页面调取哪个接口慢,叫他把页面或相关的URL发给你,首先,最直观的分析就是用浏览器按F12,看下是哪一块的内容过慢(DNS解析、网络加载、大图片、还是某个文件内容等),如果有,就对症下药去解决(图片慢就优化图片、网络慢就查看内网情况等)。其次,看后端服务的日志,其实大多数的问题看相关日志是最有效分析,最好用tail -f 跟踪一下日志,当然你也要点击测试来访问接口日志才会打出来。最后,排除sql,,找到sql去mysql执行一下,看看时间是否很久,如果很久,就要优化SQL问题了,expain一下SQL看看索引情况啥的,针对性优化。数据量太大的能分表就分表,能分库就分库。如果SQL没啥问题,那可能就是写的逻辑代码的问题了,一行行审代码,找到耗时的地方改造,优化逻辑。
6、mysql数据库用的是主从读写分离,主库写,从库读,假如从库无法读取了、或者从库读取特别慢,你会如何解决?
笔者回答:这个问题笔者觉得回答的不太好,对mysql比较在行的朋友希望能给点建议。以解决问题为前提条件,先添加从库数量,临时把问题给解决,然后抓取slow log ,分析sql语句,该优化就优化处理。慢要不就是硬件跟不上,需要升级;要不就是软件需要调试优化,等问题解决在细化。
7、cpu单核和多核有啥区别?
笔者回答:很少有面试官会问这样的问题,即然问到了,也要老实回答。还好笔者之前了解过CPU,我是这么说的:双核CPU就是能处理多份任务,顺序排成队列来处理。单核CPU一次处理一份任务,轮流处理每个程序任务。双核的优势不是频率,而是对付同时处理多件事情。单核同时只能干一件事,比如你同时在后台BT下载,前台一边看电影一边拷贝文件一边QQ。
8、机械磁盘和固态硬盘有啥区别?
笔者回答:我擦,啥年代了,还问磁盘的问题,这面试官有点逗啊。那也要回答啊:
HDD代表机械硬盘,SSD代表固态硬盘。首先,从性能方面来说,固态硬盘几乎完胜机械硬盘,固态硬盘的读写速度肯定要快机械硬盘,因为固态硬盘和机械硬盘的构造是完全不同的(具体的构造就没必要解释了)。其次,固态盘几乎没有噪音、而机械盘噪音比较大。还有就是,以目前的市场情况来看,一般机械盘容量大,价格低;固态盘容量小,价格偏高。但是企业还是首选固态盘。
9、说一下用过哪些监控系统?
笔者回答:这个监控的问题又问到了,笔者在2018年1月4号也被问到类似这样的问题,笔者曾经用过zabbix、nagios、 cacit等。但是在这次面试中只说用过zabbix和nagios。说完了之后,面试官就让我说一下这两个监控有啥区别:
从web功能及画图来讲:
Nagios简单直观,报警与数据都在同一页面, 红色即为问题项。Nagios web端不要做任何配置。 Nagios需要额外安装插件,且插件画图不够美观。
Zabbix监控数据与报警是分开的,查看问题项需要看触发器,查看数据在最新数据查看。而且zabbix有很多其它配置项, zabbix携带画图功能,且能手动把多个监控项集在一个图中展示。
从监控服务来讲:
Nagios自带的监控项很少。对一些变动的如多个分区、多个网卡进行监控时需要手动配置。
Zabbix自带了很多监控内容,感觉zabbix一开始就为你做了很多事,特别是对多个分区、多个网卡等自动发现并进行监控时,那一瞬间很惊喜,很省心的感觉。
从批量配置和报警来讲:
Nagios对于批量监控主机,需要用脚本在server端新增host,并拷贝service文件。 Nagios用脚本来修改所有主机的services文件,加入新增服务。
Zabbix在server端配置自动注册规则,配置好规则后,后续新增client端不需要对server端进行操作。 Zabbix只需手动在模板中新增一监控项即可。
总体来讲:
Nagios要花很多时间写插件,Zabbix要花很多时间探索功能。
Nagios更易上手,Nagios两天弄会,Zabbix两周弄会。
Zabbix画图功能比Nagios更强大
Zabbix对于批量监控与服务更改,操作更简洁;Nagios如果写好自动化脚本后,也很简单,问题在于写自动化脚本很费神。
10、给你一套环境,你会如何设计高可用、高并发的架构?
笔者回答:如果这套环境是部署在云端(比如阿里云),你就不用去考虑硬件设计的问题。可直接上阿里云的SLB+ECS+RDS这套标准的高可用、高并发的架构。对外服务直接上SLB负载均衡技术,由阿里的SLB分发到后端的ECS主机;ECS主机部署多台,应用拆分在不同的ECS主机上,尽量细分服务。数据库用RDS高可用版本(一主一备的经典高可用架构)、或者用RDS金融版(一主两备的三节点架构)。在结合阿里其它的服务就完全OK,业务量上来了,主机不够用了,直横向扩容ECS主机搞定。
如果这套环境托管在IDC,那么你就要从硬件、软件(应用服务)双面去考虑了。硬件要达到高可用、高并发公司必须买多套网络硬件设备(比如负载设备F5、防火墙、核心层交换、接入层交换)都必须要冗余,由其是在网络设计上,设备之间都必须有双线连接。设备如果都是跑的单机,其中一个设备挂了,你整个网络都瘫痪了,就谈不上高可用、高并发了。其次在是考虑应用服务了,对外服务我会采用成熟的开源方案LVS+Keepalived或者Nginx+Keepalived,缓存层可以考虑redis集群及Mongodb集群,中间件等其它服务可以用kafka、zookeeper,图片存储可以用fastDFS或MFS,如果数据量大、又非常多,那么可采用hadoop这一套方案。后端数据库可采用 “主从+MHA”。这样一套环境下来是绝对满足高可用、高并发的架构
3. HR不懂技术,如何面试专业技术人员
我把求职者大致分为四类,下面逐类分析一下。 第一类惜字如金型。这类求职者,有能力、话少。从简历上看,对方职业资质非常不错,但工作内容方面写得不清楚。在进入面试间后,应聘者根本不知道应该说什么,只是一直坐在那里,HR问一句,对方答一句,连最基本的自我介绍也不知该如何表达,寥寥几句话就结束了。众所周知,有些技术人员工作能力没问题,但就是不爱说话。往往HR怕因为这些原因而影响技术人员面试的发挥,所以尽可能多问,以此来引导对方多讲话,让他们把简历中涉及的、个人所做的项目内容及技术情况讲出来,但是到最后,很可能对方依然什么也说不出来。 第二类“抵触”型。这类求职者,简历清晰明了,符合招聘要求,但态度傲慢。这类人从一开始就对HR很“抵触”(也许他们认为,HR与技术人员是分开的,殊不知,在HR中,也有技术人员“卧底”),言语傲慢,一副审视的表情。有些人,在面试的最后,要求约见公司的技术负责人与他沟通;更有甚者,在还未与HR进行沟通的情况下,想当然地认为在座的HR人员根本就不懂技术,并直接说出自己的想法——作为技术人员,他不需要经历这种面试流程。 第三类属于自我感觉良好型。这类应聘者在进行自我介绍时,尤其是当讲到自己熟悉的项目内容时,把自己描述成一位难得的技术精英,但当公司里负责专业技术的HR人员就几个专业问题和他进行讨论时,他又显得很浮躁,有一些技术也不是完全明白。因此,要么就不着边际、夸夸其谈;要么就表现得很抓狂,顾左右而言他。 第四类求职者,沟通能力没问题,也能清楚表达个人情况及工作内容,但就是在问到“你为何离职”及一些关于“对团队合作”的看法时,他们所回答的内容完全是按照“应聘攻略”的套路,与HR所提问题完全不在一条线上,答非所问。 点评:为方便“非技术型”面试官(只是做人力资源工作的面试官)在进行面试时对应聘者做出准确判断,推动面试进程,一定要将简历中展示个人专业实力的部 分准备充分,面试时求职者要摆正心态,既要自信,又要谦虚。如果不自信,紧张怯场,会影响自己专业知识的发挥;如不谦虚,则会招致HR反感。无论面试官是 否了解你的专业,都应当抱着面试官懂你专业的心态,千万不要认为面试官不懂专业。有时候,为了方便招聘,公司技术部门也会有负责人来配合面试,但这些不可 能会告知面试者。 因此,面试时务必将你所有的优势展示出来,推荐自己的实力很重要,包括技术能力、各类资格证书、管理能力和性格优点。其实HR在面试专业技术人员时,最关注的是这个员工的资质是否符合公司要求,综合素质是否符合岗位要求的标准。所以技术类专业人员求职,在HR面试环节,一定 要准备一些面试中可能会涉及的问题,不要把所谓的“面经”当成面试宝书,千篇一律的回答绝对无法打动面试官。HR可能对专业技术掌握程度不高,但一定能够
4. 面试的时候怎样回答技术面试题
一、听清题,勿抢答
面试,首先也是一个人与人交流沟通的过程。有些时候,面试官还没说完问题,面试者就会打断说「这个问题我知道...」。打断不利于沟通,同时,这样其实导致面试题没听清。比如面试题是「如何理解Java 的 JMM,...」后面还没说的时候,面试者打断说「你说的这个我会。。。,包括方法区,堆,栈 balabala」这就答的都跑偏了。
二、从全局、到具体
如果问题是「 Spring 是什么,怎样理解的」。很多人就会直接回答「Ioc 和 Aop嘛」这样说不能算错,但我个人认为从一个更宏观的方式先入手,再具体介绍对于 Spring 你深入了解的一个或者多个方面,这样感觉更好一些。
发展到今天,Spring 并不仅仅只有Ioc 和Aop,而是一个包含一系列功能的XX,像快速开发的Spring Boot, 像微服务支持的 Spring Cloud, 像支持认证和鉴权的 Spring Security, 支持各种抽象的Spring data 提供的 xxxTemplate,Testing, 以及现在使用众多的 Spring MVC。当然 Denpendency Injection 和 AOP 依然是核心。
再比如回答如何理解Java的垃圾回收机制,比起直接回答 「将无用的对象清除出内存」这类概括,如果描述垃圾回收,什么时候会发生垃圾回收,具体的回收方式,了解哪些回收算法。出现OOM时如何调整,以及 JVM 的内存划分等,我感觉效果会好很多。
5. 该怎么面试java程序员
简历制作
在写简历这方面,需要下一定的功夫。毕竟简历就是你给别人的第一印象,而印象则决定你的面试机会。简历突出的就是一个简字,简历的制作不要过多,也不要过少。2-3页最好。
简历的三个重要点就是,我是谁、我要做什么、我能做什么。
第一点,个人的基本信息。
除了个人姓名、籍贯、现住地址等以外,还需加上毕业学校、所学专业、工作时间等。重要的信息填上,无关的信息则少写或不写。例如身高、体重之类的。
第二点,求职意向。
这点很重要,可以的话,排版放在个人信息下面。求职意向主要就是期望工作的岗位、工作的地址以及薪资。工作岗位建议后面加个相关工作,可以少许提升面试机会。例如,java工程师及相关工作。薪资这块则建议填写面议,过高或着过低只会降低面试机会。
第三点,也就是HR最重视的一点,技术能力这块。
就写做掌握的技术以及相关熟练度,最好多用点技术关键字,毕竟不少的HR是按照关键字来搜索的。例如 JAVA、SQL、linux等。这点排版也建议放在求职意向下面。剩下的就是工作经历以及项目经验了。工作经历这块就不细说了。
重要的是项目经验。项目描述这块,个人建议,第一点,你要告诉别人,你的这个项目是做什么,为什么人群服务,怎么使用。不要过多的说明用了什么技术,用这些技术怎么开发项目。
这点大致提下就可,毕竟篇幅有限,使用技术这块和面试官相谈即可。第二点,项目负责开发的模块以及技术,这点需要让别人知道你在这个项目做了什么,用到了那些技术。第三点,项目业绩,这点看个人,如果不知道怎么写,可以写个人在项目学到了什么,或者碰到了那些问题,是如何解决的。
至于自我评价、获奖之类的,可以留在最后书写,写自己的真实情况,最好不要使用招聘网上的那种模版。
面试技巧
个人能力这方面无非两个方面,广度和深度。
技巧很简单,就是说自己擅长的。技术掌握广,但是不深,就可以将自己的技术广度多说点,顺便可以提下自己的优点 例如:学习新技术很快;技术掌握深,但是不广,就可以将掌握的深度多说点,可以提下自己在学习这块的专研度。如果在这两点都没有太明显的优点的,可以尝试从项目业务说,最好将项目吃透。
与面试官相谈的切记要诚实,不要弄虚作假。碰到不会的或者了解不深的,直接跳过,最好将面试官引导到自己擅长的领域。
面试总结
面试完之后,最好进行总结。毕竟每一次面试都是一次收获。如果将面试中所遇到的问题以及感悟能记下来,那就再好不过了。
在找工作的时候,除了做些相关面试和准备熟悉以前做的项目之外,还应该学习新的知识。毕竟,每多学一点,成功找到工作的机会就大一点。而且,IT这行,技术发展过于快速,如果没有学习新知识的动力,终究会被淘汰。
因为学习实在是很枯燥无味。学习是一个长期投资,短期很难道看到收益,而娱乐是一项短期投资,短时间便可以看到收益。所以学习这块最好可以给自己定一个目标,每天学习一点,慢慢的会达到的。如果没有动力的话,可以给自己设置奖励。这是可以激发学习的兴趣的。
还有一点,今天能坐完的事情,绝对不要留给明天。毕竟,人都是有惰性的。你要相信你自己,今天的你能做的没有做,明天的你也不会做的。
6. 技术人员如何去面试
一、为什么跳槽和选择公司
1.为什么跳槽
虽然我们换工作有不同的原因,但主要的原因主要是治疗、生长和稳定等主要因素,还有一些因素,比如想要离家更近等等。
治疗收入,如工资、股票、奖金等,在本层影响我们的精神状态是普遍的,例如,我认为我的技术能力达到一定阶段,但是工资是低于我的能力,或者是我的学生和朋友和同事一起成长现在工资比我高,或者是高房价下或抚养孩子,需要更多的收入来支撑,不管是什么原因,追求高薪自然是我们每个人的商业社会中重要的选择。这是无可非议的,但它是根据行业的大形势、个人能力等综合考虑的。
跳槽的许多常见原因是工资太低,或者缺乏满足感。另一个原因是工作太累或没有发展空间,有些人离家很近,这是可以理解的。我的建议是不要经常换工作!
我觉得你在公司的时间不超过2年+,你真的了解整个公司是不够的,有时候容易片面,或者故意放下他现在的工作,觉得很痛苦,不要改变工作我很抱歉。没有必要根据个人情况和行业环境作出决定。
2.什么公司
选择一个公司来看看你的基本要求通常是一种成长的方式,或者给你你想要的薪水。
我通常推荐那些与他们的行业有相似或相似工作的公司,这样你就不会白费力气了。当然,也有人完全是在行业或性格中,比如你曾经做过的技术,现在你对产品经理做了什么,也就是说,只要你认为你可以做得很好并且有发展。
一般的建议是为一个大公司或一个你似乎正在开发的公司。大公司一般都很发达,平台也很庞大。在整个过程中,你可以进入并制造出好的产品并迅速成长。还有其他的发展中公司,所以你最关心的是公司的未来。如果你确认公司将来会很好,你也可以进入大公司。
3.如何投递简历
如果你看起来不错的公司,它通常是内部推荐,猎头推荐,恢复他们的几种方法,如整个效果,首要任务是如我所描述,把最好的效果,并且可以有针对性的,猎头推荐的周期很长,和搜索会给你做很多的评价和包装、周期长。你可以很容易地把自己的公司寄出去,有些公司有一个平台,有些不是,所以很容易从海上得到你的简历,所以具体的公司交付是不同的。
二、如何面试
所有的采访中说公平它是假的,人类是动物,自然有个人偏好,所以一般好好公司,为了避免面试官的个人问题,通过流程来解决,比如几轮面试,面试,很多人通过这种方式减少面试官私人感情或情绪影响面试结果。
这一过程的本质是避免人性本身的弱点和问题。
即便如此,这一过程也能解决问题,然而,大多数国内公司(包括一些知名的IT或互联网公司)都没有很好的面试程序,最受面试官主观意识的影响。所以请记住,这个世界上没有绝对的平等!
好吧,既然你有很好的技术能力,但是你的面试官会把你给关了,你就得心甘情愿,不可能,谁让你的胃不舒服?!为了解决这个问题,我要谈谈面试的过程。
1.工作面试准备
在一般面试之前,我建议你应该有一个专门的技术研究来做你的工作,在这个职位和公司,或者看看网上的面试问题来提高你的成功率。事实上,你在面试前学习,这将提高你的学习效率,而知识的摄入是好的,这比一般的学习效果好,而且有压力和动力。
2.外在
衣服,比如技术人员,与一些外国交流或非常频繁的阶级地位是不同的,衣服好,自然西装,皮鞋,领带太假的没有必要让如(如果你是一个高级职位,如技术总监或注意),因为你依靠技术和综合能力,外表不是主要的。即使是这样,但最好不要弄脏,或者感觉很慢,或者满嘴的口臭,让面试官觉得不开心(废话,所有人在面对一个特别脏的人都不会愉快),可能会减少你的印象分。虽然我估计这些比例很小,但如果你让自己干净整洁,让你表现得很聪明,别人也会给你留下一些好的印象。
3.产品环境和距离
不同,大多数的公司面试一般集中在会议室里,有些可能是在开放的空间里,有的是在透明玻璃的会议室,学校招聘类一般在酒店会议室或学校的自习室等等。
一般的社交距离是45厘米比较合适,面试过程中,主动是面试官的基本要求,所以你要配合,不要把自己当回事,别人可能会对你的这种行为感到不满。面试两个人从45厘米以上更合适,因为我们每个人都有心理安全距离,如果两个人太近,会觉得很郁闷,两个人不舒服,如果有口臭,反而更尴尬因为太近了。但不太远,听不清楚,影响面试效果,具体自己的主人。另外,如果两个人面对这个问题,就会觉得像是在审判。这将更加令人沮丧。最好是站在双方的两边,这样他们就不会互相压制和轻易沟通。(此规则适用于大多数面试,包括非技术职位)
如果一些校园招聘,一般是在酒店的面试室,合理的面试官的常用方式是在面试过程中打开房门,尤其是对面试官来说,这种方法尤为重要,尊重和面试提供了一个安全的环境。如果你是校园招聘的女生,在酒店面试中,你可以进入面试室打开门,这是比较合适的。
4.通信
一般说话的语气都很流畅,目空一切,情绪不需要改变太多,清晰的表达,能够清晰的表达你的意思,滔滔不绝不需要说很多,强调多聊,如果你不知道对方想听什么,你可以多问几句。
5.面试过程
面试过程不同于公司,所以几乎可以肯定的是,这项技术将是第一个进行第一次测试,然后是面试过程。另一个是面试,没有书面测试,公司的流程和习惯。
许多人认为自己是一个高端人才,如果一家公司给他一个测试,他们会觉得受到了侮辱,甚至我也看到了它的消失。其实,我认为每个人都出去找工作,没有什么是平等的,让你也不轻视你的技术来解决问题是不好的,只是先了解你的简单的技术水平,它没有嘴巴不厚。说简单点,就是说,不要把自己当回事,你出来找工作,找一个好的单位是很重要的,如果你对他们的技术有信心,那么你就很乐意把问题写完。当然,不必太在意这种程度,当然也有界限,如招聘高级职位,假如还做笔试题,多少个孔雀,因为在上完之后,可能会有很多技术细节不记得了,在笔试中失去了。
技术面试不同的技巧应该是不同的,比如你的PHP,Java,c++,数据库,每个技术点都是不同的,不同的面试问题对自然,最好的事情是当你在寻找另一份工作的时候,你的个人擅长于技术,而不是职位。
技术面试过程是一个简单的问题基本知识(算法,数据结构,这个职位所需的基础知识),表面复杂的问题(复杂的知识体系结构、技术水平等),一般不技术三面,一般是字符或一些心理问题,或者一些人力资源对治疗阶段。
6.面试问题
面试官问你两个问题,一个是开放式问题,一个是封闭式问题,例如,C语言中静态关键字的用途是什么?这是一个封闭的问题,有一个明确的结果。例如,问你:如何优化网站的性能?这是一个开放性的问题,你可以从任何角度或角度进行分析。
一般问你封闭式问题,主要是指你对技术的重点,对记忆能力的技术细节,一般来说,如果有任何开放性的问题,一般都要考查你的综合能力,或者是说问题可以在什么层次上。面对开放式的问题,有时你不确定面试官是否想要听什么样的内容,你可以问,减少开放式问题的范围,并能有效地控制面试官问这个问题背后的动机。例如:如何优化网站的性能?在这种情况下,您可以问:它是描述我的优化或描述一个通用过程的案例吗?这会让你更好地了解面试官想要做什么,以便了解你的实战能力或者你的系统知识组织。
一个封闭的问题的答案是要知道描述是清楚的,没有说很多的话,如果你不知道的话,就说清楚你不知道。有很多开放式的问题,回答方式和策略,一般我都说过了,然后你对主要的答案进行概括的描述,然后再对熟练的部分进行描述,提高对面试官的认识。
一般来说,简单的技术面试可以一些,比如一些问题逻辑明确表示清楚,如果不知道,就说我不知道,不要说什么,说一堆完全无关的事情,而不是让别人感觉你不知道,而不是对你的印象很差,不是平面和敏捷。
面试问题没有统一的规则,每个不同的技术,或者公司不同的业务应用环境,技术问题是完全不同的,一些简单的困难,但是很多基本的知识是一样的,这是你的技术技能。
7. 打算跳槽,如何准备 Java 初级和高级的技术面试
现在换工作时间太早,有协助互联网企业招聘过技术岗位,基本会要求全专日制统招属本科,相关专业,三年以上的经验。
你的劣势在于是培训机构出来的,这个缺点,一时半会儿是,难以掩盖的。
而目前你在这家公司只做了半年,自己也觉得好像懂,好像也不懂,既然不是科班出身的,一定要加强技术实力。
第一,工作时间要够长,这是有一定的工作经验的体现
第二,对于计算机语言,一定是不断学习的,加强深度的,否则面试时,部门负责人那边过不了。
综上所述,你确定现在要跳槽吗?
如果确定要跳槽的话,一定要准备要好,工作方面的实际问题
希望帮到你采纳一下,谢谢
8. 如何面试一个工作经验比自己高的人
经常与高端人才打交道的猎头,难免会遇到面试一个比自己工作经验更丰富、工作年限更多的人,我们应该如何更专业地开展工作呢?
如果是技术岗,应该有岗位职责和技术要求,猎头要化身技术面试官,要看他已有的技能是否满足这个岗位。同时围绕公司所应用的技术平台、产品类型、项目情况考察他的技术水准是否能够满足。
面试时,首先请他简要介绍下他的经历,并针对他做过的项目选取几个兴趣点深入问一下,考察他做过的事是能全局把握的,还是只是负责一个点。对于你不了解的技术你也不要不懂装懂,如果他能用简单的描述让你听得明白,说明他的条理很清晰,表达不错,也说明他是真正理解了。如果你听得云里雾里,要么是他不擅长表达,要么是他并不是真正掌握知识。
你有5年的技术经历,在公司工作至少3年吧,那么你应该十分了解公司的技术。下面这个环节是考察他对你所在行业或者产品的理解。你可以提出几个实际工作中遇到的技术问题,请他讲讲他的理解和解决办法。通过他的表达,你从蛛丝马迹中判断他的知识结构是否是你所需要的,思路是否靠谱。有一些高手在新的单位总也找不到感觉,不要聘用这样的人。
技术面试之后,要了解他换工作的原因,动机,他的期望是什么,你要判断公司能否满足他的期望,他是否“像这个公司的人”,也就是要符合公司文化。双方契合,才能达到共赢。
【智乐聘(公号:智乐聘/lepin)是专注中高端人才的悬赏制招聘平台,企业可以用行业内最低的费用享受顶级的猎头服务;个人/SOHO猎头自由选单、做单,专业顾问全程协助保证做单效果。高端人才高效招聘,就在智乐聘!】
9. java面试中问你最擅长的技术是什么你能为公司做出什么贡献怎么回答
建议:
1、把你之前所掌握的常用的技术一一例举
2、能为公司做出什么共专享你就应该把你之前所做的属项目分享一下,还可以加上利用什么技术达成的,然后再加一句“如果公司目前或者以后有类似的项目需要我会给出很多好的建议避免项目走弯路之类的”
3、一面切记不回答问题直接反问hr,二面也不建议,你自身的问题可以在hr问你有什么问题的时候你在说,避免因hr觉得你高傲自大而导致面试失败。
4、如果还不知道该怎么回答可以在喜马拉雅搜索“手把手教你怎样更好的面试”我的面试问题建议。