面试记

打高中起,每次坐在考场上,都无比欣慰的感叹:“嗯,考试,是一个很好的学习的机会。”

坐在考场上,抓耳挠腮的时候,才会抓紧时间去弄懂那些公式,那些原理,才会去思考那些问题,才会去书写那些文字。

到今天,已经面试了三家公司,都没面上,一起的女同学,陆续都有面上的,直接就职了。


第一场,“第一场嘛,刚开始嘛”抱着走过场儿的态度。我的面试题只有一页,快结束了才发现还有第二页,又要了,到交的时候根本没做完。

当然,你没有态度,别指望别人对你有态度。然后的人事不面试,之前一点都没有准备,自我介绍就了几句不着边儿的话。。。第一场面试就这样没有了下文。过几天才知道,同去的有一个被通知参加复试了。


第二场,首先是项目经理很随意的面试,偌大的办公室,找了个空地儿,他站着靠在办公桌上就开始了,第一个问题是hashmap里的key值可以重复不?我脱口而出可以,然后他又问,如果插入(A,B)再插入(A,C),通过A去value值,你取到的是什么?我又脱口而出,C。矛盾了。。。这个问题很失败,key是不可以重复的,重复的插入会被覆盖。

用jdk本身的map是实现不了这种情况: 有重复key 但是不需要新的映射值value覆盖先前的value。

public interface Map<K,V>将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。

自然继承一下HashMap,改写它的一个方法就ok了

Java代码

 

import java.util.*;   
 
class MyHashMap extends HashMap   
{   
    @Override  
    public Object put(Object key, Object value)   
    {   
        //如果已经存在key,不覆盖原有key对应的value ,仍然显示先前key对应的value
        if(!this.containsKey(key))   
            return super.put(key, value);   
 
        return null;   
    }   
}   
 
public class TestOne   
{   
 
    public void printMap()   
    {   
 
        Map map = new MyHashMap();   
 
        map.put("1", "1");   
 
        map.put("2", "2");   
 
        map.put("3", "3");   
 
        map.put("1", "4");   
 
        Iterator it = map.keySet().iterator();   
 
        while (it.hasNext())   
        {   
 
            Object key = it.next();   
 
            System.out.println("key = " + key + "  ;   value = " + map.get(key));   
        }   
 
    }   
 
    public static void main(String[] args)   
  {   
        new TestOne().printMap();   
    }   
} 


第二个问题,是考察,sql语句中的group by,having,order by,他说,他只是考察我知道用这些不,,,二我支支吾吾又是没有答上来。平时做项目,用的是得心应手,被问到了,倒是答不出来了。然后是总经理的面试,首先两三分钟自我介绍,我嘟嘟的说了一堆,有点紧张,后来想想,hr能听得到头绪么。。。。。

第二次失败了。


第三场,技术官对着我的简历挨个问的,首先问的是servlet的流程,我错答成了servlet的生命周期。

    通过HttpServlet去开发servlet,需要重写doGet、doPost方法。这是目前用的最多的一种方法。

        写一个java类继承HttpServlet类,重写dopost和doget方法,在web.xml中注册这个servlet,和添加映射。     

       

 

Servlet处理的流程

1、客户端使用浏览器提交对Servlet的调用的Get或者Post请求
   从浏览器端输入地址就为Get请求
   通过一个链接的请求(表单)就是一个Post请求
2、服务器接到请求后,如果该Servlet是第一次被调用,实例化这个Servlet
3、服务器调用该Servlet对象的service()方法
4、Servlet产生动态回复内容
5、服务器发送回复内容给客户端得浏览器

  Servlet的生命周期分为四个阶段
1,创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。(默认)
2,调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次
3,响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。
4,在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。

可以通过web.xml文件可以配置Servlet对象的创建时间,
<load-on-startup>数字</load-on-startup>,表示服务器启动时创建,并依照数字大小按顺序创建,只用重要的Servlet才会是用这个设置。

可以通过<init-param>标签来配置初始化参数,可以用ServletConfig对象的
getInitParameter(String name)方法来得到参数。
 
<init-param>
<param-name>...</param-name>
<param-value>...</param-value>
</init-param>


   然后 问了:  表单提交数据get请求 和post请求的区别 

            1:从安全性看get<posst ,get提交的数据会在浏览器的地址栏显示

            2:从提交的内容大小看,get<post, get提交的数据不能大雨2K,而post提交的数据理论上不受限制,但是实际编程中简易不要大于64K 

            3:从请求相应速度看:get>post,get要求服务器立即处理请求,而post请求可能形成一个队列请求。


    然后又问了一些关于项目的问题,看见我的简历上写的有ajax技术,问我在项目中如何运用ajax技术,我简单的说了一下用的购物车的页面无刷新修改上。没有顺便讲一下ajax技术的原理。

           ajax是一种网页开发技术,是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。

  通过 AJAX,您的 JavaScript 可使用  JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。
  AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
  AJAX 可使因特网应用程序更小、更快,更友好。


 最失败的是,问我js,我居然说是前台技术,给避开了。回来一想,这个完全可以谈很多的。

        javascript是一种很灵活的脚本语言,是一种能让你的网页更加生动活泼的程式语言

       它的内置对象:Number 、String、Date、Boolean。

       JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等。


明天,第四场,加油。不一定能成功,但是我 会进步,理解的也越多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值