面试公司
按一些收集到的信息加自己的经验总结给大家
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,且隐藏主机
- 解决IP不够、保护主机不受侵害,因为访问时是路由器上的全球IP
覆盖(重写)【Overriding】
HDFS【Hadoop分布式文件系统】
以Block为存储单位,默认64MBTELNET
远程终端协议,明文传输协议,应用层(协议)
- 建立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 打印绝对路径
- head 显示文件开头
语义网络
用图表示知识的结构化方式
虚拟化 //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.254 | 10.0.0.0~10.255.255.255 | 127.x.x.x | 每个网络可以分配到1600多万的计算机,毕竟三个字节用于表示主机部分 | 但ip地址太少,也就126个,仅少部分政府部门和公司能用的起,apple之类的 |
B | 两个字节【10开头】 | 两个字节 | 128.0.0.1~191.255.255.254 | 172.16.0.0~172.31.255.255 | 169.254.x.x | 网络数量增大了,且同时每个网络ip也能分配65534台计算机 | 即便比A少了很多,但依然很少能有公司或组织用满,对于平民用户而言又太浪费了 |
C | 三个字节【110开头】 | 一个字节 | 192.0.0.1~223.255.255.254 | 192.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项目