今天是东软正式启动校园招聘的日子,心里的紧张和焦虑真的是说不出来,不过现在想想都已经过去了,我面试是在明天,但是今天有个公司的面试,所以我去了,刚开始,是公司的一些简介,我了解到,这个公司是面向C的,但是我为了锻炼自己,还是选择去参加了,我的预感一直很准吧,笔试的题一般都是高中的数学题,包含很多逻辑性比较强的算术题,还有一些c的基础知识题,还有一个是能力方面的,主要是单片机的知识,通过了上午的笔试,我已经很吃惊了,然后我又参加了下午的面试,面试我穿了同学的正装,然后简单的准备了一下自我介绍,其实我是抱着去锻炼的想法去的,等候面试的时间是最紧张的了,不过我还好,其实我还在看jsp的自定义标签,呵呵,然后我是排在第5个,进去的,我敲了门,没人回应,又敲,还是没人回应,后来老师给我开得门,其实这就有点不好,不应该让老师给你开门的,这是自己第一次面试的失误,进去之后,我一看,就有点蒙了,总共3个人呢。我鞠了一个宫,说,面试老师好,我看见老师示意了一下,然后我就做那了,老师说让我自我介绍,我就把简单的准备说了一下,当时我记得说完之后,我长出了一口气,估计还是紧张吧,然后中间的面试官用日语和他旁边的人沟通,我才知道,原来中间的人是老总,明白了大体的关系之后,我注意和老总有眼神的交流,因为我要表现自己非常自信的一面,我记得我的回答速度很快,但是答得也是模糊的,我还记得一些问题,现在具体说一说
1.你的性格缺点
我看过些简单的面试资料,知道在说自己的缺点的时候,不能不说。但是又不能说的太多,所以我把事先准备好的简单的说了一下,后来,才想明白,应该在加上一句,我现在已经改正了,而且做得很好,但是当时忘了。
2.为什么来我们公司
我的第一反应,我喜欢上海,第二,我喜欢计算机方面的工作。(因为我并没有仔细的了解这个公司的概况,只能想起来什么说什么)
如果现在让我回答,我会这样说(首先,我喜欢上海,第二,我喜欢计算机方面的工作,第三,我了解到贵公司的情况,和未来发展。感觉到这个工作就是自己想要的,更适合自己)。
3.把你想要去工作的地方按顺序排下
我的回答,上海,沈阳,北京,其实我当时也是说了一些大城市,因为毕竟这个问题还是要往计算机前景比较好的城市说。
4.为什么不喜欢去大连
这个问题一下子就把我难住了,为什么不喜欢大连。是啊,我的回答:我说大连消费高,就是不喜欢,也说不出为什么。后来我自己想,我说的是什么啊。上海的消费不比大连高好多啊。真是笨呢,现在要是说的话(就是心里不喜欢,也不知道为什么)这个回答可能也不太好,不过这个我真不知道怎么回答好。
5.你期望的工资是多少
我的回答是不比正常的员工低就可以。
6.说几句简单的日语
这个马马虎虎了。
还有一些都不记得了。。
1.union 与union all 的区别union把两条记录合并成一个查询,但是前提,所选的记录的两个表的字段名要一致。
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,同时进行默认规则的排序。而union all则将所有的结果全部显示出来,不管 是不是重复,不排序。
2.rpad与lpad区别
Lpad()函数的用法:
lpad函数将左边的字符串填充一些特定的字符其语法格式如下:
lpad(string,n,[pad_string])
string:可是字符或者参数
n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string:是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
例如:
lpad('tech', 7); 将返回' tech'
lpad('tech', 2); 将返回'te'
lpad('tech', 8, '0'); 将返回'0000tech'
lpad('tech on the net', 15, 'z'); 将返回 'tech on the net'
lpad('tech on the net', 16, 'z'); 将返回 'ztech on the net'
Rpad()函数的用法:
rpad函数将右边的字符串填充一些特定的字符其语法格式如下:
rpad(string,n,[pad_string])
string:可是字符或者参数
n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string:是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
例如:
rpad('tech', 7); 将返回' tech'
rpad('tech', 2); 将返回'te'
rpad('tech', 8, '0'); 将返回'tech0000'
rpad('tech on the net', 15, 'z'); 将返回 'tech on the net'
rpad('tech on the net', 16, 'z'); 将返回 'tech on the netz'
3.to_number字符串转换
oracle中函数用to_number('321312','99999999')
4.cast
是进行类型转换的, 可以针对各种Oracle数据类型. 修改的是用户的数据类型.
round只是修改的数据显示格式. 对数据做四舍五入. 类似的函数还有ceil(取此数据的最小整数). trunc( 取整函数.)
SQL> create table t1(a varchar(10));
Table created.
SQL> insert into t1 values ('12.3456');
1 row created.
SQL> select round(a) from t1;
ROUND(A)
----------
12
SQL> select round(a,3) from t1;
ROUND(A,3)
----------
12.346
SQL> select cast(a as int) from t1;
CAST(AASINT)
------------
12
SQL> select cast(a as number(8,4)) from t1;
CAST(AASNUMBER(8,4))
--------------------
12.3456
进入到C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf下
修改server.xml文件。更改端口号。ok
前提:
重新安装的系统及环境
运行程序出现端口被占用的错误
解决方法:
用命令 netstat -a -n -o
最后一个选项表示连接所在进程id. 找到8080端口的PID
然后打开任务管理器, 切换到进程选项卡, 在菜单栏选择查看->选择列, 选择PID.
在列表中找到PID对应的进程就可以了
问题解决!
安装好jdk及tomcat之后
提示servcie not found
解决:java未设置环境变量
新建classpath:到jdk的lib路径
path: 到bin路径
J2EE上API上有两个init方法 一个是带参数的 init(ServletConfig config)
方法还有一个是不带参数的 init()方法
通常情况下,比如用tomcat,tomcat会把web.xml的配置信息封装成对象 (也就是config ),通过调用init(ServletConfig config)给正常初始化.tomcat调用init(ServletConfig config)方法的类中有个成员变量叫config,
tomcat的具体实现是{this.config = config; init();}这样config成员变量就被正常初始化了.
如果我们程序员要自己手动的方式调用init方法,最好用不带参数的init(),如果非要用带参数的init(ServletConfig config)方法.就一定不能忘记调用父类的super.init(config);
因为重写方法,就把以前的语句给覆盖了.不能正常的赋值了.
不然用到servletContext的时候很容易出空指针异常(config成员变量没有正常初始化);
2。创建Servlet时,必须要继承自HttpServlet,也就是Servlet的父类(super)。
HttpServlet作为一个抽象类用来创建用户自己的Servlet,HttpServlet的子类至少重写一下方法中的一个:doGet()和doPost().
HttpServlet类提供doGet()方法处理form表单的GET请求,并提供doPost()方法来处理POST请求。
你必须了解Servlet 的生命周期:
实例化——>Servlet容器创建Sevlet实例
初始化——>该容器调用init()方法
服 务——>如果请求Servlet,则容器调用Service()方法
销 毁——>销毁实例之前调用destroy()方法
那就得给你解释下初始化了:
Servlet容器加载好Servlet后,必须进行初始化,初始化Servlet时,可以设置数据库连接参数,建立JDBC连接,或者建立对其他资源的引用。在初始化阶段init()方法被掉用。这个方法在javax.servlet.Servlet接口中定义。
你可以把Servlet容器 就当作和Tomcate一样的东西!所以Servlet也叫Servlet引擎。
ServletConfig说明和用法
因为本人虽然做过开发,却一些基本知识不扎实,今天用到了,所以恶补了一下,特整理成了文档,希望能巩固知识,也希望能帮助一些朋友。
Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。在servletConfig对象中包含了servlet的初始化参数信息。此外,servletConfig对象还与servletContext对象关联。Servlet容器在调用servlet对象的init(ServletConfig config)方法时,会把servletConfig对象当做参数传递给servlet对象。Init(ServletConfig config)方法会使得当前servlet对象与servletConfig对象建立关联关系。
servletConfig接口中定义了一下方法:
Ø getInitParameter(String name):根据给定的初始化参数,返回匹配的初始化参数值。
Ø getInitParameterNmes():返回一个Enumeration对象,里面包含了所有的初始化参数。
Ø getServletContext():返回一个servletContext()对象,
Ø getServltName():返回servlet的名字,即web.xml中的<servlet-name>的子元素的值。如果没有配置这个子元素,则返回servlet类的名字。
例子:
<servlet>
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>0</load-on-startup>
<init-param>
<param-name>color</param-name>
<param-value>red</param-value>
</init-param>
<init-param>
<param-name>size</param-name>
<param-value>16</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>actionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
如上,红色标记处为初始化参数,相当于公有参数。
在servlet中:
public class UserDateBaseServlet extends HttpServlet{
String color = this.getInitParameter("color");
String size = this.getInitParameter("size");
System.out.println("颜色是:"+color+"字号是:"+size);
}
注:HttpServlt类继承了GenericServlet类,而GenericServlet类实现了ServletConfig接口,因此在HttpServlet类和GenericServlet类及子类中都可以直接调用ServletConfig接口中的方法。
servletconfig和servletcontext的区别
ServletConfig就是获取一个<Servlet></Servlet>的信息
而ServletContext则包含Web.xml里面所有的信息
ServletConfig是获取该servlet的配置信息
每一个servletconfig对应一个servletservlet之间不共享数据的
request是浏览器发给服务器的
http://localhost:8080/Userinfo/servlet/str=''-----------------------------这个事干吗的啊