1.公司情况:小公司,坐落星海云观E座,主要经营投融资咨询、创业投资管理、信息技术服务;希望做出一个投资方与融资方的沟通平台,在这个平台上提供不同的项目供双方查看,项目内容包括,公司信息,项目信息,融资金额等。未来还打算融合第三方支付,手机App等。有一定风险,工资比大连平均工资高1-2k,由于是小公司升级的空间较大。
2.面试过程:
《1》首先介绍一下自己,
主要是介绍有关你软件开发方面的优势啊,你可以给公司提供什么啊,公司为什么选择你啊。你的技术方面怎么样啊,做的项目有哪些啊。还有你的学习能力怎么样,这些方面结合起来。敏捷开发:熟练使用SSH框架,MySQL,Oracle数据库,在架构上使用过引擎化设计,MVC设计,在算法上,了解搜索,动规,图论等算法。做的项目。。。
学习能力:对于mina框架在3天内学会,1周内使用写出一个UDP Server的程序。
《2》介绍自己做的项目,我觉得主要说明一下这个项目用到那些技术,自己在这个项目上做了什么。
《3》说明一下tomcat优化。没有答上来。
tomcat 线程优化
<Connector port="80" protocol="HTTP/1.1" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" connectionTimeout="20000" redirectPort="8443" />
maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
这里是http connector的优化,如果使用apache和tomcat做集群的负载均衡,并且使用ajp协议做apache和tomcat的协议转发,那么还需要优化ajp connector。
<Connector port="8009" protocol="AJP/1.3" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" connectionTimeout="20000" redirectPort="8443" />
由于tomcat有多个connector,所以tomcat线程的配置,又支持多个connector共享一个线程池。
首先。打开/conf/server.xml,增加
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。
然后,修改<Connector ...>节点,增加executor属性,executor设置为线程池的名字:
<Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="60000" keepAliveTimeout="15000" maxKeepAliveRequests="1" redirectPort="443" />
可以多个connector公用1个线程池,所以ajp connector也同样可以设置使用tomcatThreadPool线程池。
《4》聊一下职业规划。
我希望从最简单的软件工程师做起,然后到项目经理,然后到技术总监或其它管理层。
《5》薪资要求:
回答样本一:“我对工资没有硬性要求。我注重的是找对工作机会,所以只要条件公平,我不会要求很多的。
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。