linux
1awk详解
2怎么给命令绑定一个宏或者按键
3如果一个linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做?
4如果你的助手想要打印出当前的目录栈,你会建议他怎么做?
5你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
答案
1简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。点击查看
2
可以使用bind命令,bind可以很方便地在shell中实现宏或按键的绑定。
在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。
比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列 ^[[24~。
接着使用bind进行绑定。
[[email protected] ~]# bind ‘”\e[24~":“date”’
注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。
【附】也可以使用showkey -a命令查看按键对应的字符序列。
3使用命令compgen -c,可以打印出所有支持的命令列表。
4
使用Linux 命令dirs可以将当前的目录栈打印出来。
[[email protected] ~]# dirs
/usr/share/X11
【附】:目录栈通过pushd popd 来操作
5使用linux命令 ’disown -r ’可以将所有正在运行的进程移除。
java
1并行和并发有什么区别
2线程和进程的区别?
3 守护线程是什么?
4创建线程有哪几种方式?
5说一下 runnable 和 callable 有什么区别?
1并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
并发在一台处理器上“同时”处理多个任务,并行在多台处理器上同时处理多个任务。如hadoop分布式集群。
所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。
2进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行。
3守护线程(即daemon thread),是个服务线程,准确地来说就是服务其他的线程。
4 1 继承Thread类创建线程类
定义Thread类的子类,并重写该接口的run方法,run方法就是线程执行体
创建Thread类的实例,即创建了线程对象
调用线程对象的start方法,启动线程
2通过Runnable接口创建线程类
定义runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。
创建 Runnable实现类的实例,并依此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。
调用线程对象的start()方法来启动该线程。
3通过Callable和Future创建线程
创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值。
创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。
使用FutureTask对象作为Thread对象的target创建并启动新线程。
调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。
5Runnable接口中的run()方法的返回值是void,它做的事情只是纯粹地去执行run()方法中的代码而已;
Callable接口中的call()方法是有返回值的,是一个泛型,和Future、FutureTask配合可以用来获取异步执行的结果。
python
1自定义异常用raise抛出异常
2正则表达式匹配中,(.)和(.?)匹配区别?
3简述Django的orm
4[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
5x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果
1
2(.)是贪婪匹配,会把满足正则的尽可能多的往后匹配
(.?)是非贪婪匹配,会把满足正则的尽可能少匹配
3
ORM,全拼Object-Relation Mapping,意为对象-关系映射
实现了数据模型与数据库的解耦,通过简单的配置就可以轻松更换数据库,而不需要修改代码只需要面向对象编程,orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句,所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite…,如果数据库迁移,只需要更换Django的数据库引擎即可
4
5join()括号里面的是可迭代对象,x插入可迭代对象中间,形成字符串,结果一致.