去某国企养猪场面试一直没消息后,今天打电话过去咨询,居然被挂了【脸黑】。
一定要吸取一个教训:
大厂子不看你写的项目经验,但是很注重实习经历!注意,实习很重要,一定要标注公司框架和项目用的工具!!!
去国企,简历一定要包装!一定要包装!一定要包装!! !
要金光闪闪!牛逼哄哄!然后又表现的上进积极!!国企就是眼高,不包装不管面试多号妥妥挂!!!
1. http非幂等
幂等有以下的特性:操作次数N > 0的时候,GET | HEAD | PUT | DELETE 方法具有幂等性。sql中SELECT也是幂等操作。
GET方法用于获取资源,不应有副作用,所以是幂等
DELETE方法用于删除资源,有副作用,但它应该满足幂等性
POST和PUT的区别容易被简单地误认为“POST表示创建资源,PUT表示更新资源”;而实际上,二者均可用于创建资源,更为本质的差别是在幂等性方面。
POST所对应的URI并非创建的资源本身,而是资源的接收者。不具有幂等性
2. redis特性
redis在数据插入请求commit时,会立即存储在系统内存中,一段时间后将其存储在硬盘介质中,则redis符合事务中__特性
redis事务在执行的过程中,不会处理其它命令,而是等所有命令都执行完后,再处理其它命令(满足隔离性);
redis事务在执行过程中发生错误或进程被终结,都能保证数据的(一致性);
redis事务在执行的中途遇到错误,不会回滚,而是继续执行后续命令;(违反原子性)
3. 网络连接处于close-wait状态,则该节点处于
close_wait状态出现的原因是被动关闭方未关闭socket造成
终止一个连接要经过4次握手。这由TCP的半关闭造成的。既然一个TCP连接是全双工(即数据在两个方向上能同时传递,可理解为两个方向相反的独立通道),因此每个方向必须单独地进行关闭。
进程打开了socket,然后用派生子进程来处理业务,父进程继续对网络请求进行监听,永远不会终止。客户端发FIN过来的时候,处理业务的子进程的read返回0,子进程发现对端已经关闭了,直接调用close()对本端进行关闭。实际上,仅仅使socket的引用计数减1,socket并没关闭。从而导致系统中又多了一个CLOSE_WAIT的socket
4.mysql事务的隔离级别
·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据
·提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)
·可重复读(Repeated Read):在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读
·串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞
5.定时任务
3.15 8-11 /2 * root run-parts /etc/cron.daily
表示日期、时间内,每隔两个小时执行一次任务。
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。
如果去掉run-parts参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
6. 设计模式
门面模式(facade)
提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。
//开灯
public class Light
{
public void open(){
System.out.println("Light has been opened!");
}
}
//热水器
public class Heater
{
public void open(){
System.out.println("Heater has been opened!");
}
}
//同时开灯和热水器,使用门面模式
public static void main()
{
Ligth light = new light1();
Light light = new light2();
Heater heater = new Heater();
light1.open();
light2.open();
heater.open();
}
适配器模式(Adapter Pattern)
适配器模式作为两个不同接口的桥梁