基础知识2020-4-17

Linux

1使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?
2绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
3怎么查看当前进程?怎么执行退出?怎么查看当前路径?
4怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
5Ls 命令执行什么功能?可以带哪些参数,有什么区别?

答案

1使用命令repquota 能够显示出一个文件系统的配额信息
【附】只有root用户才能够查看其它用户的配额。
2 绝对路径 /etc/init.d
当前目录 ./ 上层目录 …/
主目录~/ 切换目录命令 cd
3 ls 查看当前路进程
ctrl +C 执行退出进程 exit退出终端
pwd 查看当前路径
4 clear 清屏 ctrl +c彻底关闭进程 ctrl+d暂时关闭进程 bg命令回复运行
id命令查看当前用户的的id 查看指定帮助使用 man xxx 详细介绍且具有例子 ;xxx --help介绍可以使用的参数
5 ls查看当前目录下所有文件
ls -a 所有文件,包含隐藏的文件
ls -l 相当于ll命令 列出文件的详细信息,包括大小字节数 可操作权限等

Java

1创建线城池有哪几种方法
2线程池有哪些状态
3线程池中 submit()和execute()方法有什么不同
4Java如何保证多线程的运行安全

答案

1
①. newFixedThreadPool(int nThreads)
创建一个固定长度的线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程规模将不再变化,当线程发生未预期的错误而结束时,线程池会补充一个新的线程。
②. newCachedThreadPool()
创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制。
③. newSingleThreadExecutor()
这是一个单线程的Executor,它创建单个工作线程来执行任务,如果这个线程异常结束,会创建一个新的来替代它;它的特点是能确保依照任务在队列中的顺序来串行执行。
④. newScheduledThreadPool(int corePoolSize)
创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer。
2
线程池有五种状态 Running ShutDown Stop Tidying Terminated
基础知识2020-4-17
3
接受的参数不一样
submit方法有返回值 而execute没有
submit方便Exception处理
4
线程安全体现在三个方面
原子性 提供互斥访问,同一时刻只能有一个线程对数据进行操作(atomic synchronized)
可见性 一个线程对内主存的修改可以及时被其他线程看到(synchronized,volatile)
有序性 一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序(happens-before原则)

python

1a="hello"和b="你好"编码成bytes类型
2[1,2,3]+[4,5,6]的结果是多少?
3提高python运行效率的方法
4简述MySQL 和 redis的区别
5遇到bug怎么处理

答案

1
基础知识2020-4-17
2
基础知识2020-4-17
3
使用生成器,可以节省内存
代码循环优化,避免过多重复代码的执行
核心代码使用Cython PyPy等 提高效率
多进程 多线程 协程
多个if else 判把最有可能发生的条件放在前面,减少程序判断次数,提高效率
4
redis 内存型非关系数据库,数据保存在内存中,速度快
mysql 关系型数据库 数据保存在磁盘中,检索的话 会有一定的io操作 访问速度相对较慢
5
1细节上的错误 通过print打印,能够执行到print说明以上代码没问题,分段检测程序是否有问题,如果是js的话可以alert或console.log
2如果涉及到一些第三方框架,可以查看官方文档或者一些技术博客
3对于bug的管理与归类总结,一般测试出的bug用teambin等bug管理工具进行记录,逐条修改,修改的过程有助于理解业务逻辑和提高自己编程逻辑缜密性。
4导包问题