发表于: 2017-08-04 23:20:44

2 969


【说明】今天又投了十家公司,只有两个查看,一个有意向,两个拒接,其它没反应,,,

一:今天完成

1, UUID

除了自增id之外,经常被用作主键的还有 uuid

为什么会有这样一个东西呢?因为作为判断用户或者实体的唯一性,除了自增long型之外,

为了突出独特性,可以用 更复杂的 uuid 做为标识

比如在文件名字的命名上面,如果采用获取系统时间作为文件名字是有可能出现 重复的,比如多核多线程 的程序 运行的时候,就可能出现重复。

为此java提供了相应的工具类,用来根据 mac地址 网络号 系统时间 组合生成 唯一的标识符,那就是uuid。

import java.util.UUID; 

public static void main(String[] args) 

{ for(int i=0;i<10;i++){ 

String uuid = UUID.randomUUID().toString().replaceAll("-", ""); 

System.out.println(uuid); 

}

2,对于网站上面的实时更新字段,可以如何考虑?

因为不可能所有的数据都是实时更新的,而是仅限于某些场景如聊天室、私信等。

所以可以采用的方法就是轮询、长连接等等了,涉及到的技术包括 ajax、comet、websocket 等等

3,举例说说常用的设计模式

1)单例模式

构造方法私有化,声明实例化对象,静态方法返回实例

private SingletonTest() { 

//单例模式的实现:饿汉式, 线程安全 但效率比较低 
private static final SingletonTest instance = new SingletonTest(); 

public static SingletonTest getInstancei() { 
return instance; 
}

private SingletonTest() { 


private static SingletonTest instance; 
//懒汉式, 非线程安全  
public static SingletonTest getInstance() { 
if (instance == null) 
instance = new SingletonTest(); 
return instance; 
}

2)工厂设计模式

作为接口和子类的一个过度,动态取得对象

动物接口  狗实现 猫实现

工厂类 getInstance( String className){

动物 a = null;

if(符合一){}
if(符合二){}

return a;

3)代理设计模式

真实类 代理类 

代理类调用真实类里面的方法,除此之外自己也提供一些其它切面功能

NetWork  

Real(brower)  Proxy(Proxy  check  brower)

4,Java内存模型 和性能调优(只是看了看 一些名词)

JVM 可以分成 New Old  Perm

年轻代(存放刚刚分配的Java对象)

年老代(经过垃圾回收但是没有收掉的被copy到 年老代)

永久代(存放 Class Method 元信息)


垃圾回收算法:Serial算法  并行算法  并发算法

5,IO流 和 多线程总结

开启新线程 继承 Thread ---重写run方法   或者 是实现 Runnable---实现 run方法--创建自定义Runnable对象

6,什么时候需要同步?

有多段代码同时执行,希望某代码的cpu 不要切换线程

如果同步,同一时间只能执行一段

怎么同步?

synchronized 关键字 加上锁对象

什么时候需要通信?

希望线程有规律的执行

7,关于 同步 常见的面试题(简单对比)

  StringBuffer 和 StringBuilder(字符串变量)

  StringBuffer 是线程安全的, 效率低

  StringBuilder 是线程不安全的, 效率高

 

  Vector 和 ArrayList

  Vector 是线程安全的, 效率低

  ArrayList 是线程不安全的, 效率高

 

  Hashtable 和 HashMap

  Hashtable 是线程安全的, 效率低

  Hashtable 不能存 null 键和 null 值

  HashMap 是线程不安全的, 效率高

  HashMap 可以存储 null 键和 null 值

 8,存储过程和函数的区别?
 一个是sql语句的集合,,涉及特定表
一个是内置方法的集合,不涉及特定表

二:明天计划

周六的话应该是不会让我去面试,那我可以 看点 数据库相关的 和一些面试题

三:疑难问题

四:思考总结

每天不停地刷面试题也是够够的


返回列表 返回列表
评论

    分享到