2018年面经,希望帮到大家【持续更新】

面试公司

按一些收集到的信息加自己的经验总结给大家

oracle

  • 笔试[网上]

    总体还是特别难的【全英文】在快速看题的过程中,如果有不会的单词或则会产生歧义的段落,就会导致真正做题时间很短,大概一分钟一道的感觉。

    • A a=new B()执行谁的?B的

    • 跨包无法调用protected标注的玩意

      附带权限的表格

    权限名一个类一个包不同包的子类不同包的非子类
    private???
    啥都不加(default)??
    protected?
    public
    • 抽象类

      有抽象方法就为抽象类,继承抽象类时必须实现所有的方法。接口其实就是更纯粹的抽象类,域默认final static,权限为default还有public两种,当然java8后接口里面就可以加点default方法,而不是只能干巴巴地放几个方法体定义在那了。

    • for(;;)可以塞方法进去吗?可以

      for (int i = 0; i < 10; System.out.println("hello")) {
        i++;
      }
      
    • treeSet和linkedHashSet的区别

      简略的说,以后再专门讲:treeSet有序,按树结构存储,LinkedHashSet链表的形式存储,用HashSet的形式

    • thread.run() .start()区别

      run()复写掉用来放要执行的事情,当你直接执行run()时就直接跑起来了,如果你跑start()则启动线程,而方法并不一定会马上运行。【这个部分后面会开个专题讲,Thread的源码还是有很多可以值得讨论的地方】

    • volatile

      使得这个变量在各线程间是可视的,比起synchronize性能好很多,又能起到避免冲突的问题,打个比方,Thread源码中有threadStatus,设为volatile让大家都能知道线程当前状态是怎样的。

      /*
       * Java thread status for tools, default indicates thread 'not yet started'
       */
      private volatile int threadStatus;
      
    • @Retention(RetentionPolicy.RUNTIME)

      决定标注的类型要执行怎样的保留政策【或者说持久化】

    • has-a 与 is-a的关系

      正方形是图形,正方形有四条边

广东电信

  • 笔试[网上]

    NAT

    Network Address Translation 专用网连接到Internet的路由器上加装NAT软件,当访问网络时,由本机地址转为全球IP地址

    • 解决IP不够、保护主机不受侵害,因为访问时是路由器上的全球IP
      • 静态转换【一对一】安全性较差,且对IP资源消耗大
      • 动态转换【一对多】安全性好,能满足多用户需求
      • 端口多路复用【Port Address Translation PAT】改变数据包外出时端口,所有主机都共享一个IP,且隐藏主机
  • 覆盖(重写)【Overriding】

  • HDFS【Hadoop分布式文件系统】
    以Block为存储单位,默认64MB

  • TELNET

    远程终端协议,明文传输协议,应用层(协议)

    • 建立tcp连接
    • 将用户名等等以(Net Virtual Terminal)形式发送
    • 回收响应
    • 撤销TCP连接
  • Linux常用命令

    • head 显示文件开头 head -n 5 hello.log
    • less 对文件、输出等进行分页显示 history | less
    • more 一次显示一屏文本 more -5 hello.log
    • nl 文本加上行号 nl hello.log
    • touch 修改文件访问时间【一直以为这是拿来创建文件的?】
    • du 每个文件磁盘用量 du --max-depth=1
    • free 空闲内存
    • iostat io状态
    • vmstat 虚拟内存
    • df 文件系统信息 df -h【以人类形式显示】
    • chmod 文件模式修改
    • chown 文件所有者修改
    • find 查找 find . -regex
    • whereis 定位指令的二进制程序bin,源代码,man手册等
    • which 在path变量中找到命令所在位置,返回第一个
    • pwd 打印绝对路径
  • 语义网络

    用图表示知识的结构化方式

  • 虚拟化 //TODO 待更

  • 判断IP是不是为主机,子网划分

    An Internet Protocol address (IP address) is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing. 【from wiki】

    简单翻译下就是ip地址是一串数字标识,用于标记设备连入计算机网络,同时也用于标记地址。

同时这里就只讲解ipv4的概念,因为现在ipv6目前也就在校园网上活跃而已。

一共32位的ip地址,为了更好地利用它们,将它大致分为了两部分网络标识部分以及主机标识部分。按照这个思路分法,就可以分出3种类型ABC地址,另外两种类型DE就不分网络和主机标识了。

种类网络部分主机部分地址范围私有地址保留地址优点缺点
A一个字节【0开头】3个字节1.0.0.1~126.255.255.25410.0.0.0~10.255.255.255127.x.x.x每个网络可以分配到1600多万的计算机,毕竟三个字节用于表示主机部分但ip地址太少,也就126个,仅少部分政府部门和公司能用的起,apple之类的
B两个字节【10开头】两个字节128.0.0.1~191.255.255.254172.16.0.0~172.31.255.255169.254.x.x网络数量增大了,且同时每个网络ip也能分配65534台计算机即便比A少了很多,但依然很少能有公司或组织用满,对于平民用户而言又太浪费了
C三个字节【110开头】一个字节192.0.0.1~223.255.255.254192.168.0.0~192.168.255.255----网络ip多了不过导致主机ip减少了,不过通过子网掩码,这个问题其实现在也不大
D不分网络主机【1110开头】不分224.0.0.0-224.0.0.255【用于广播】239.0.0.0-239.255.255.255 【用于测试】224.0.1.0-238.255.255.255【用于组播】多点广播地址用来一次寻址一组计算机,标识共享同一协议的一组计算机这个不太清楚
E不分网络主机【11110开头】不分240.0.0.0~255.255.255.254用于测试、实验用不太清楚

子网掩码

子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。

面试题常有:A、B的IP是否在同一子网下【子网N:xxx】

R1=A&N=xxx;
R2=B&N=xxx;
若R1等于R2,则在同一子网

一智通(SaaS)

SpringBoot+SpringCloud+Docker

面试感触:对基础一定要牢,要有引导性地往自己熟悉的方面走,数据结构一定要了解,宁可说不会也不能说错的东西。

  • Java特性:继承,多态,抽象,封装。

    • 继承:父子关系,体现is-a关系,节省不必要的重复代码。
    • 多态:一个接口,有不同的实现方式。(重载重写)

      但是需要满足继承,复写,父类引用指向子类对象。

    • 抽象: 通过把类的共同特性抽象出来,减少开发时间。
    • 封装: 类的体现,我们通过对象的形式去调用它的行为(方法),而不必知道它的具体实现。
  • 栈,堆,图,队列····数据结构一定要扎实。

    • 栈:后入先出,保证出去的永远是最新的
    • 堆:也可命名为优先队列,是一棵树的数组体现,保证每次提取的是队列的第一个(最大,最小or其他设置)
  • SQL语句掌握

  • 应用发布,dependency如何分开war还是jar

  • springCloud

  • Docker

高新兴

  • hashmap与concurrentHashMap

    注意concurretntHashMap的两个版本,segement以及基于CAX方式的大数组Node<k,v>

  • redis与数据库如何实现一致化

  • restfult service

    就是@service接口

  • 多线程

  • 爬虫如何实现

  • 死锁

  • Java项目

原博地址,喜欢的话可以看看其他文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值