• 2015实习生面试记录


    本文记录一下,个人在2015年夏季申请各个公司碰到的面试题。仅供学习和参考。

    【JAVA】

    1. LinkedList和ArrayList的区别。

    答:

    1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构;

    2. 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针; 

    3. 对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据;对于末尾元素,两者的开销差不多。

    2. 接口和抽象类

    答:

    接口是对行为的抽象,抽象类是对整体类的抽象。共同点在于它们都体现了一种抽象思维,模板思维。

    区别在于

    1. 语法上:

    抽象类

    (1) 抽象类的成员、方法可以和普通类一样,也可以有抽象方法,抽象方法的修饰符默认为public abstract,便于子类的继承;

    (2) 子类继承抽象类则必须实现抽象类的所有抽象方法,一旦继承可以获得抽象类的所有普通成员变量和方法;

    (3) 抽象类不能被实例化;

    (4) extends关键字;

    (5) 单继承;

    接口

    (1) 接口中可以有成员和方法,所有的成员的隐式修饰符为public static final,方法均为抽象方法,隐式修饰符为public abstract;

    (2) implements关键字;

    (3) 变相地实现“多继承”,有时比抽象类的使用更加灵活。

    http://www.cnblogs.com/dolphin0520/p/3811437.html

    http://blog.csdn.net/xw13106209/article/details/6923556

    3. Java多线程

    (1) 继承Thread类,本质实现runnable接口,只能单继承;

    (2) 实现runnable接口;

    (1) (2)实现的run()方法,无返回值。

    (3) 实现Callable接口,返回一个future对象。

    http://blog.csdn.net/aboy123/article/details/38307539

    4. HashMap中的equals()和hashcode()方法

    http://www.cnblogs.com/jisheng/archive/2011/09/03/2165536.html

    【数据库】

    1. 左外连接和右外连接的区别。

    答:

    左外连接:返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回NULL。

    右外连接:返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回NULL。

    举例

    例子:   
      a表       id   name     b表     id     job   parent_id   
                  1   张3                   1     23     1   
                  2   李四                  2     34     2   
                  3   王武                  3     34     4   
        
      a.id同parent_id存在关系   
        
      内连接   
      select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id   
        
      结果是     
      1   张3                   1     23     1   
      2   李四                  2     34     2   
        
      左连接   
      select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id   
        
      结果是     
      1   张3                    1     23     1   
      2   李四                  2     34     2   
      3   王武                  null   

      右连接   
      select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id   
        
      结果是     
      1   张3                   1     23     1   
      2   李四                 2     34     2   
      null                       3     34     4   
        
      完全连接   
      select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   

      结果是     
      1   张3                   1     23     1   
      2   李四                 2     34     2   
      null                 3     34     4   
      3   王武                 null

    扩展

    详解SQL中的连接:http://blog.csdn.net/jiuqiyuliang/article/details/10474221

    2. SQL基础知识

    http://www.cnblogs.com/CareySon/archive/2010/04/05/1704928.html

    3. Group By相关

    http://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html

    【机器学习/数据挖掘】

    1. 常见的分类算法及思想。

    http://www.cnblogs.com/tornadomeet/p/3395593.html

    2. 过拟合现象的产生及解决方法。

    3. L1和L2正则项的区别。

    4. 特征降维的方法:PCA/SVD

    5. 信息增益和信息增益率的区别。

  • 相关阅读:
    PHP
    PHP
    PHP
    网站页面引导操作
    Solr与Tomcat的整合
    POI操作文档内容
    HashTable和HashMap的区别
    ArrayList、LinkedList、HashMap底层实现
    正则表达式语法
    Java并发编程:线程间通信wait、notify
  • 原文地址:https://www.cnblogs.com/harrygogo/p/4658449.html
Copyright © 2020-2023  润新知