友情提醒:先看文章目录,大致了解文章知识点结
第一章、项目真实场景问题
1.1)项目前期
1.你在项目里是什么角色?到甲方去谈过需求吗?
主要是后端开发,根据需求实现功能,写一些接口。做部分测试或部署项目的工作。项目开始时,和项目经理去客户方谈过需求,过去了解项目,做一些记录,如果用手机录音,最好要征求客户方同意。
再举出一个在项目中的经历,如去北京市文化局聊过某个项目,把人名,地址记住,这样更具有真实性。
2.甲方的对接人是谁?如何跟甲方进行项目对接和沟通?
第一次去对接人一般是客户方的领导,项目完成后使用该项目的业务人员。
并且在第一次甲方领导会指定项目的负责人与你对接。领导很忙,他只要结果。
沟通方式有很多,有的项目是在客户现场办公,有问题直接交流。
如果不在客户现场办公,则要通过项目周报,项目进度报告,邮件,电话,微信等方式进行沟通。沟通一定要及时,顺畅。有的项目是在客户现场办公,有问题直接交流,随时沟通。
3.你们需求和原型是谁来做?你是根据什么开发的?
1、如果是做项目,需求是由项目经理根据客户确认。如果是做产品,需求是由产品经理根据市场确认。
2、需求提出后,会由美工或UI设计做出原型图,现在用的最多的是Axure软件,项目经理会拿着原型图多次与客户方进一步做沟通。程序开发人员根据原型图及具体的需求完成后台功能的开发,将静态页实现为动态页。
3、对于现在的项目,有很多是要求既要运行在PC端,也要运行在各种移动设备,有针对PC端的,也有针对手机的,手机这边考虑手机兼容性一般使用H5开发。
后台是不用考虑前台用什么来展示,只需要给前台传数据就好
4、前后台之间会通过接口文件来描述数据的接收和返回什么数据的问题。
如下就是一个用户注册的接口:
请求方法 POST
URL http://sso.e3.com/user/register
参数 username //用户名
password //密码
phone //手机号
email //邮箱
参数说明
示例 http://sso.e3.com/user/register
返回值 {
status: 400
msg: “注册失败. 请校验数据后请再提交数据.”
data: null
}
{
status: 200
msg: “注册成功.”
data: null
}
4.如果需求变更,是什么流程?开发部门怎么针对需求变更做出应对?
变更可以来自客户方或项目组内部。是否变更征求项目经理的意见。
需求变更要分析变更内容的大小,对项目的影响程度,如时间,资金。
对于小变更,项目经理可能直接要求你修改下,灵活处理。
对于大的变更,先由变更方正式提出,如邮件,会议等形式确认要变更的内容。然后项目经理要对这次变更进行评估,并将评估结果发给客户领导及自己的领导,对于本次变更对于项目的影响进行描述。将变更记录保存下来
5.你们项目卖多少钱?团队规模
项目多少钱就说不清楚,团队规模:十几个人,项目经理: 1人 产品经理: 1人 测试: 2 人 前端: 3人 后端: 6人 ETL(数据库): 2人
1.2)项目开发中
1.项目的周期大概是多长?
一期: 2019-2021年底 二期: 2022年初-2023年底,但不全是开发,其它时间是做需求,设计,测试,部署等。
2.核心开发人员除了写码,还有什么额外工作吗?
会有。整理需求,写项目文档,带新人,测试,项目部署。
一句话,你就是一颗螺丝钉,项目那需要你,你就去。因为你是核心人员,能干。
3.新项目上手多长时间适应阶段比较正常?
新人去公司一般会培养一个月时间。去熟悉公司技术架构,以前的项目,公司环境等。这段时间也会由指定老员工带你去熟悉以上内容,不会不管你,但你也不能老烦别人,要体现出自学,解决问题的能力,他的评价对你很重要。平时搞好关系,请吃个饭。
4.带新人怎么带?
一般会给你把公司开发环境搭建上,环境搭建好后会从公司项目服务器上下载一个项目跑起来,给你关于这个项目的资料。让你学习,自己看业务,熟悉技术架构。如果遇到不明白的就问下,当然不能总去打搅别人。特别是简单的问题自己不思考就问会挨骂的,所以自学能力很重要。
5.项目开发中常见的软件工具及版本有哪些?
开发工具:Myeclipse10或intellij idea,后者现在用的更多。
建模工具:rose ,viso
数据库设计:powerDesign
项目管理工具:禅道
数据库:oracle11,mysql5
6.如何介绍项目,让项目层次感和吸引对方注意?
首先,要明白一点,当你被问及项目经验的时候,面试官的目的不仅仅是考察技术,也是你的项目概述能力。
1、从一个项目的生命周期为基准线展开讲,这样介绍项目将更有层次感。接下来要将你在项目中的比重,你负责主要点有哪些。
2、在项目概述之后,就要讨论每个项目过程遇到的困难部分,因为大部分项目都会遇到这个问题,所以尽量真实描述你是如何解决问题的,这也将体现你解决问题的思想。
3、有礼貌问面试官对于项目还有哪些疑问或者不清楚的地方。
7.如何把项目亮点和难点讲清楚?
仔细描述自己项目中困难功能是如何实现的。传统业务可以写复杂的业务逻辑。这需要提前做充分准备工作,多练习讲几遍。
8.项目流程是什么?
通用的项目流程就是:需求调研-分析设计-代码实现-测试-部署项目-运维
但是每个公司都有自己的一套开发流程,小公司可能不标准。但是大公司都是非常严格的,做项目必须按照项目流程走。只是可以根据项目大小进行流程上的裁剪,但有些必要流程是必须有的。
9.项目开发中要用到哪些文档?
在项目每个阶段都会有产出物,我们把这些产出物叫项目文档,有些文档是必须有的。
需求阶段:用户需求说明书,需求跟踪矩阵,需求调研报告
设计阶段:概要设计书、详细设计、数据库设计
实现阶段:接口列表
测试阶段:单元测试用例、单元测试BUG管理表、集成测试、系统测试
试运行及验收:用户使用手册,试运行计划、现场安装表
风险管理:风险管理计划、风险检查表
10.版本控制,版本规范如何做?
版本控制是由项目经理管理,可以按实际情况将项目切换到不同的版本。
主线(trunk):一个项目建立时就存在,并伴随着项目的成长而不断成长,直到项目完全结束。
分支(branch):一般是指功能分支,例如:我们的某个项目要添加一个模块,但这个模块又比较复杂,实现难度比较大。为了不影响主线的稳定,我们就可以创建一个功能分支来专门开发这个模块,当这个模块开发完成以后,并通过测试部门的各项测试,再合并到主线中去。
11.如果调用接口一般都有哪些接口或者文档或者人员可以询问参考?
如果项目需要实现支付功能,短信功能会去调用第三方提供的接口。第三方会提供详细的接口说明及demo.
如果是前后台的分开开发,也会通过接口约定数据如何交互。这个需要前后台开发人员协商决定。
12.公司有专门写接口的人员吗?
有的,大公司专门由架构师根据业务写接口,然后下面的开发人员实现。
小公司或小项目直接由开发这个模块的人员写接口。
13.项目中常见服务器有哪些?
通常有以下类型服务器
应用服务器(放项目webapp)
数据库服务器(DB)
邮件服务器
文件服务器
图片服务器
14.开发人员需要会配置服务器吗?
需要,因为最后部署项目时需要会配置服务器。如在linux下安装jdk,tomcat,nginx,复杂的话可能需要做服务器的集群。当然大公司有自己的运维团队,他们会负责服务器环境的配置,不过做为开发人员也要知道。
15.开发人员开发过程中怎么进行沟通?
项目小组每天有会议,时间在10分钟内,每个人说下自己当前的工作及是否有问题。项目经理也会安排下具体的工作任务,并对昨天的工作进行check.
开发人员之间如果在一起,最好通过面对面的方式沟通。如果不在一起,可以通过即时软件进行沟通。,开发人员每周要提交项目周报给项目经理。
16.开发人员的日有效代码量一般多少?BUG率是多少?
一般是在100行左右,这也和你在完成的这个模块功能难易度有关系。
Bug率一般是千行代码控制在10个以下。
17.什么是中间件
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于服务器的操作系统之上,连接两个独立应用程序或独立系统的软件。通过中间件相互之间仍能交换信息。
比如消息中间件,消息队列(RabbitMQ(Queue,简称MQ)就涉及到消息发送和接收问题,保证我发的消息,别一个子系统能收到。
18.开发怎么跟需求跟测试跟实施怎么配合?
开发与需求:主要是根据需求文档进行开发,如果发现需求有不清楚的地方要及时和需求人员确认。
开发与测试:开发人员会将每天开发的代码上传到git,测试人员会将代码下载进行测试,如果有bug,会写bug报告提交给项目经理,由项目经理告诉开发人员进行修改。
开发与实施:在上线部署时写部署文档,帮助运维人员部署项目。
19.业务谁来分析讲解?接口谁来写?常见的端口号有哪些?
业务由项目经理去客户方获取,回来后组织组员开会讨论需求,这是一个反复的过程。接口由有经验的开发人员根据需求分解后的模块编写
常见的端口号有:
Tomcat 8080 ,http 80
Mysql 3306, oracle 1521 , sqlserver 1433
20.上线部署流程是什么?开发人员怎么配合上线?上线需要提交什么文件吗?
1、上线部署先要购买服务器。也可以采用向服务器供应商租借服务器的方法.
2、服务器确定后,要选择在服务器上安装linux操作系统,现在多用centos.装好后安装jdk,tomcat,weblogic,数据库等运行环境,如果项目采用分布式部署,还要安装nginx,mycat等。
3、之后在应用服务器上安装web应用,就是war包,还要在数据库服务器上安装数据库,建立系统所要用的库和表。
4、最后是测试,看整个系统,包括软件,硬件,网络是否有问题。
开发人员需要写安装部署的文档,交给系统集成部门的人员去安装或亲自去安装,在整个部署过程中随时进行技术支持。
5、上线时,项目应该已经通过最终的验收,项目中的主要文档已经提交过。上线后应该对客户方进行培训,会有系统的使用说明书。
21.你的项目上线了吗上线后的bug反馈,你有涉及吗?
上线后如果有bug,会由客户方提出到项目经理这边,项目经理让你修改代码后重新编译并上传到服务器,一般可以通过远程访问服务器具并上传文件到web服务器。
22.bug异常有哪些?可以给举些实用又亮点的吗?
Ajax跨域问题,在使用mavan部署聚合项目时最常见。后端传回的数据,因为子项目的域名或端口号不同,导致前台无法接收到数据,最后使用jsonp解决。
Maven包冲突,在引用不同的jar包时,会因为依赖包的导入导致相同包冲突,这种问题很难查,当时我在整合项目时遇到过。最后通过在项目的pom.xml文件中加入exclusion结点排除冲突的包解决。
Excel导出大数据报错,发现内存溢出,导致程序崩溃。后使用内存缓冲,一次导出部分数据解决该问题。
23.数据从哪里取的?数据量是多少,一次取多少?
1、测试数据客户给的,从客户的业务系统抽取了一部分数据,项目的
2、数据来源/报数据的方式::接口实时报送。也有Excel在线编辑上传, 按周/按月报送
3、数据量等级: 单表1000w左右。
24.项目业务流程详解可否举例说一下(oa工作流和分布式开发)
具体要看你做的项目,这个必须要自己做一遍才能有体会。
OA工作流程:比如一个报销流程,在公司里会有标准流程,如果数额小于100,则培训部门领导审批就可以了,如果在1000-5000之间由管理担当审批,超过了5000则由总经理审批。如果项目中写工作流,activitity框架必须了解。
分布式开发不是业务流程,它是部署项目的一种方式。主要是针对项目很大时,采用的一种将项目按服务功能进行划分,分别进行开发。
25.你们公司是项目外包还是人员外包?
项目外包就是别的公司或人接到项目,自己做不过来或不想做,找其它公司来做这个项目,挣个差价。
人员外包是指外包公司与软件公司有合作,让人员外包的公司提供所需要的开发人员,经过自己面试通过后加入项目组,好处在于不用管外包人员的工资福利,保险等,这些都是由外包公司管理,项目做完后就将外包人员退回即可。
26.你做的这些基本也就是增删改查,是吗?
详细说下这个业务流程,可能是没有在简历上表达好。不要让面试你的人感觉你做的东西很low
27.你们的这个会议是怎么开的
首先会检查项目进度,是否按进度走。然后针对每个人的写的代码进行审核,对代码质量进行审核,最后是解决项目中存在的问题和隐患。
28.有没有和现有的系统集成,怎么弄的?
有的,在开发之前就会预留接口与现在的系统对接。
这个一般在做项目初期就要考虑到,因为时间,成本等因素,项目会分几期来做,这就要求在做第一期时就要考虑后面功能的实现,要为后面的功能预留对应的接口。
29.项目的部署方式,比如分布式、集群有什么区别,对网络环境有什么要求?
①分布式架构:把系统按照模块拆分成多个子系统。相互协作才能完成业务流程。系统之间需要进行通信。(每个子系统都可以添加多个服务器,做成集群)优点:
1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
②集群:同一个工程部署到多台服务器上。
30.项目的收获有哪些
可以提下个人在技能方面的提升以及对业务的熟悉。当然项目奖金也很重要。
1.3)人事问题
1.为什么离职?
1.合同到期
2.换个工作环境,提升自己
3.甲方不给老板结钱
2.对加班的看法?加班的频率?
在项目紧时会自愿的去加班,毕竟竞争很激烈只有公司生存下来,自己才能稳定有发展。项目紧张时,加班是自然的。
3.有什么要问的吗?
想了解下贵公司主要的业务,在行业中的地位,公司未来两年的规划(这个可以让自己的发展结合公司的发展)
4.遇到问题通常怎么解决的?
先会让自己冷静下来,摆脱心理上烦躁的状态。查询文档,百度谷歌来尝试自己解决,如果还无法解决,那就会需求外部的资源,如同事,朋友一起讨论。最后向项目经理求助。
5.我们公司是第几家面试公司?之前面试的结果怎样?
第二家公司,前天面试的一家公司今天已经发了邮件offer了,但是有些原因暂时还要考虑下。因为我对贵公司更感兴趣(如规模,薪水,地点,行业特点)所以今天也来贵公司进行面试。
6.开发过程中比较有成就感的事?
通过自己的努力使项目成功上线。克服各种困难,在上线前将客户提出的bug完美解决后成功通过项目验收。
7.项目开发中跟其他同事有没有过交集?怎么处理的?
有过,在开发一些业务时会涉及到调用别人写的类中的方法,有可能其它人写的有问题。正常情况可以通过面对面的沟通去解决,如果还有歧义会反馈给项目经理去处理。
8.简历爱好描述
要在简历中体现热爱技术,自学的能力。
如,在电商项目中使用到了redis,虽然这个模块不是我实现的,并且redis的集群部署也不是我现在这水平能做的,但我对redis很感兴趣,所以自学了一点redis,在自习的过程中,发现要先学习linux,所以掌握了linux的常用方法,能够在linux上搭建java的开发环境,并能部署redis。
9.工作经验
对自己简历中的毕业时间和项目经验做出解释,如果简历中有时间断层一定要解释清楚。
10.请你自我介绍一下自己好吗?
回答提示:姓名、年龄、爱好、工作经验,最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,要突出积极的个性和做事的能力,说得合情合理,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者。
11.说说你最大的缺点?
回答提示:
1、不要直接回答缺点。如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低
2、绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色
3、企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。
12.你对薪资的要求?
如果你必须自己说出具体数目,不要说一个宽泛的范围,给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。
13.如果录用了你,工作一段时间却发现你不适合这个职位,你怎么办?
确实热爱这个职业,会不断学习,虚心向领导和同事学习业务知识和处事经验,努力争减少差距;
14.谈谈你对跳槽的看法?
频繁的跳槽对单位和个人双方都不利,应该反对。
15.工作中难以和同事、上司相处,你该怎么办?
①我会服从领导的指挥,配合同事的工作。
②我会从自身找原因,仔细分析是不是自己工作做得不好让领导不满意,同事看不惯。还要看看是不是为人处世方面做得不好,如果是这样的话我会努力改正。
③如果我找不到原因,我会找机会跟他们沟通,请他们指出我的不足,有问题就及时改正。
17.最能概括你自己的三个词是什么?
适应能力强,有责任心和做事有始终,结合具体例子向主考官解释
18.你为什么愿意到我们公司来工作?
回答提示:对于这个问题,你要格外小心,如果你已经对该单位作了研究,你可以回答一些详细的原因,像“公司本身的高技术开发环境很吸引我。”希望能够进入一家与我共同成长的公司。”、“你们公司一直都稳定发展,在近几年来在市场上很有竞争力。”
19.如果录用了你,你将怎样开展工作?
回答提示:首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报领导批准,最后根据计划开展工作。详细的比如熟悉公司业务流程,开发规范,熟悉同事直接的沟通交流方式,从小的功能入手熟悉公司开发。
20.你希望与什么样的上级共事?
回答提示:①一方面我应该多要求自己尽快熟悉环境、适应环境,发挥我的专长就可以了。
②希望我的上级能够在工作中对我多指导,对我工作中的错误能够立即指出。
21.与上级意见不一时,你将怎么办?
回答提示:①给出自己的意见,对于非原则性问题,我会服从上级的意见文章来源:https://www.toymoban.com/news/detail-686067.html
22.你还有什么问题要问吗?何时可以到职?
①企业不喜欢求职者问个人福利之类的问题
②问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?
随时入职文章来源地址https://www.toymoban.com/news/detail-686067.html
第二章、工作接轨问题
2.1)接轨
1、会不会写单元测试
2、你刚拿到这个功能,具体需要做什么,具体的落地上是怎么实现的,做了以后和设计上有什么偏差,具体说一下和周边系统是怎么交互的
3、有没有让你感到技术有困难最后攻克的难题
4、在项目里做了哪些事情
5、
6、介绍一下最近的一个项目,项目的经历,具体参与项目的过程
7、项目中对接了哪几个接口呢,这些功能是直接分给你功能,还是说已经设计好了让你实现
8、你们接口是怎么交互的呢?,几个接口来实现这个功能?
9、做项目的时候参与什么任务
10、上线以后出问题怎么办
2.2)
2.3)
到了这里,关于强盛集团面试题实战(持续更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!