还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
方面的面试笔试题目IT20xx面试题汇总及答案Kubernetes、什么是1Kubernetes是一个开源容器管理工具,负责容器部署,容器扩缩容Kubernetes以及负载平衡作为的创意之作,它供应了精彩的社区,并与全Google部云供应商合作因此,我们可以说不是一个容器化平台,Kubernetes而是一个多容器管理解决方案、与有什么关系?2Kubernetes Docker众所周知,供应容器的生命周期管理,镜像构建运行Docker Docker时容器但是,由于这些单独的容器必需通信,因此运用因KuberneteSo此,我们说•构建容器,这些容器通过相互通信因此,Docker Kubernetes可以运用手动关联和编排在多个主机上运行的容器Kubernetes、什么是3Container Orchestration考虑一个应用程序有个微服务的场景现在,这些微服务被放在5-6单独的容器中,但假如没有容器编排就无法进行通信因此,由于编排意味着全部乐器在音乐中和谐共处,所以类似的容器编排意味着各个容器中的全部服务协同工作以满足单个服务器的需求、如何简化容器化部署缺点该机制所带来的额外操4Kubernetes作和须要回收的内存块成正比隔代回收原理将系统中的全部内存块依据其存活时间划分为不同的集合,每一个集合就成为一个“代〃,垃圾收集的频率随着〃代〃的存活时间的增大而减小也就是说,活得越长的对象,就越不行能是垃圾,就应当削减对它的垃圾收集频率那么如何来衡量这个存活时间:通常是利用几次垃圾收集动作来衡量,假如一个对象经过的垃圾收集次数越多,可以得出该对象存活时间就越长
7、的可变类型和不行变类型?python不行变类型数字、字符串、元组、不行变集合;可变类型列表、字典、可变集合、里面和的区分8Python searchmatch函数只检测是不是在的起先位置匹配,会match REstring search扫描整个查找匹配,也就是说只有在位置匹配成功的话string match0才有返回,假如不是起先位置匹配成功的话,就返回match none、用匹配的时候,「和._有什么区分9Python HTMLtag前者是贪欲匹配,会从头到尾匹配而后者是非贪欲匹配,只匹配xyz,到第一个、里面如何生成随机数?10Python importrandom;random.random;它会返回一个随机的°和之间的浮点数1由于典型应用程序将具有跨多个主机运行的容器集群,因此全部这些容器都须要相互通信因此,要做到这一点,你须要一些能够负载平衡,扩展和监控容器的东西由于与云无关并且可以在任何公共/Kubernetes私有供应商上运行,因此必需是您简化容器化部署的选择、您对的集群了解多少?5Kubernetes背后的基础是我们可以实施所需的状态管理,我的意思Kubernetes是我们可以供应特定配置的集群服务,并且集群服务将在基础架构中运行并运行该配置因此,正如您所看到的,部署文件将具有供应应集群服务所需的全部配置现在,部署文件将被供应应然后由集群服务确定如何在环境API,中支配这些并确保正确运行的数量pod,pod因此,位于服务前面的工作节点和节点运行的进程,共API,Kubelet同构成了集群Kubernetes、的不同组件有哪些?6Kubernetes Architecture主要有两个组件-主节点和工作节点如下Kubernetes Architecture图所示,和节点中包含许多内置组件主节点具master workerW等而工作节点kube-controller-manager,kube-apiserver,kube-scheduler具有在每个节点上运行的和kubelet kube-proxyo、您能否介绍一下中主节点的工作状况?7Kubernetes限制容器存在的节点和节点内部现在,这些Kubernetes master单独的容器包含在容器内部和每个容器内部,您可以依据配置和要求拥有不同数量的容器因此,假如必需部署则可以运用用户界面或叮嘱行界面部署它pod,们然后,在节点上调度这些并依据资源需求,将支配给这些pod,pod节点确保在节点和主组件之间建立通信kube-apiserver Kubernetes、和的作用是什么?8kube-apiserver kube-scheduler遵循横向扩展架构,是主节点限制面板的前端这将kube-apiserver公开主节点组件的全部并负责在节点和Kubernetes API,Kubernetes主组件之间建立通信Kubernetes负责工作节点上工作负载的支配和管理因此,它依kube-scheduler据资源需求选择最合适的节点来运行未调度的并跟踪资源利用率pod,它确保不在已满的节点上调度工作负载、你对的负载均衡器有什么了解?9Kubernetes负载均衡器是暴露服务的最常见和标准方式之一依据工作环境运用两种类型的负载均衡器,即内部负载均衡器或外部负载均衡器内部负载均衡器自动平衡负载并运用所需配置支配容器,而外部负载均衡器将流量从外部负载引导至后端容器、和之间有什么区分?10Replica SetReplication Controller和几乎完全相同它们都确保在任Replica SetReplication Controller何给定时间运行指定数量的副本不同之处在于复制运用的选择pod pod器运用基于集合的选择器,而运用基Replica SetReplication Controller于权限的选择器选择器这种类型的选择器允许按标签键和值进行Equity-Based过滤因此,在外行术语中,基于的选择器将仅查找与标签具有Equity完全相同短语的pod示例假设您的标签键表示那么,运用此选择器,您只能app=nginx,查找标签应用程序等于的那些nginx podo选择器此类型的选择器允许依据一组值过滤键因Selector-Based此,换句话说,基于的选择器将查找已在集合中提及其标签的Selectorpodo示例假设您的标签键在中显示应用程序然后,nginx,NPS,Apache运用此选择器,假如您的应用程序等于任何或则选择nginx,NPS Apache,器将其视为真实结果多线程面试题Java、什么是线程?1线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位程序员可以通过它进行多处理器编程,你可以运用多线程对运算密集型任务提速比如,假如一个线程完成一个任务要毫秒,那么用十个线程完成改任务只需毫秒
10010、线程和进程有什么区分?2线程是进程的子集,一个进程可以有许多线程,每条线程并行执行不同的任务不同的进程运用不同的内存空间,而全部的线程共享一片相同的内存空间每个线程都拥有单独的栈内存用来存储本地数据、如何在中实现线程?3Java两种方式:类的实例就是一个线程但是它须要调用接口来执行,由于线程类本身就是调用的接口所以你可以继Runnable承类或者干脆调用接口来重写方法实现线程Runnable run、关键字与作用与区分?4Java volatilesynchronized Volatile它所修饰的变量不保留拷贝,干脆访问主内存中的在内存模型中,有每个线程也有自己的Java mainmemory,memory例如寄存器为了性能,一个线程会在自己的中保持要访问的memory变量的副本这样就会出现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程中的值,或者中的值memory mainmemory不全都的状况一个变量声明为就意味着这个变量是随时会被其volatile,他线程修改的,因此不能将它在线程中cache memorysynchronized当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码
一、当两个并发线程访问同一个对象中的这个object同步代码块时,一个时间内只能有一个线程得到执行synchronizedthis另一个线程必需等待当前线程执行完这个代码块以后才能执行该代码块
二、然而,当一个线程访问的一个同步object synchronizedthis代码块时,另一个线程照旧可以访问该中的非同object synchronizedthis步代码块
三、尤其关键的是,当一个线程访问的一个object synchronizedthis同步代码块时,其他线程对中全部其它同步代码object synchronizedthis块的访问将被堵塞
四、当一个线程访问的一个同步代码块时,object synchronizedthis它就获得了这个的对象锁结果,其它线程对该对象全部同object object步代码部分的访问都被短暂堵塞
五、以上规则对其它对象锁同样适用、有哪些不同的线程生命周期?5当我们在程序中新建一个线程时,它的状态是当我们调Java Newo用线程的方法时,状态被变更为线程调度器会为start RunnableRunnable线程池中的线程支配时间并且讲它们的状态变更为其他的CPU Runningo线程状态还有和Waiting,Blocked Deado、你对线程优先级的理解是什么?6每一个线程都是有优先级的,一般来说,高优先级的线程在运行时会具有优先权,但这依靠于线程调度的实现,这个实现是和操作系统相关的OS dependento我们可以定义线程的优先级,但是这并不能保证高优先级的线程会在低优先级的线程前执行线程优先级是一个变量从代表最int1-10,1低优先级,代表最高优先级
10、什么是死锁如何分析和避开死锁?7Deadlock死锁是指两个以上的线程恒久堵塞的状况,这种状况产生至少须要两个以上的线程和两个以上的资源分析死锁,我们须要查看应用程序的线程转储我们须要找出Java那些状态为的线程和他们等待的资源每个资源都有一个唯一BLOCKED的用这个我们可以找出哪些线程已经拥有了它的对象锁id,id避开嵌套锁,只在须要的地方运用锁和避开无限期等待是避开死锁的通常方法、什么是线程平安是一个线程平安类吗?8Vector假如你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码假如每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程平安的一个线程平安的计数器类的同一个实例对象在被多个线程运用的状况下也不会出现计算失误很明显你可以将集合类分成两组,线程平安和非线程平安的是用同步方法来实现线程平安的,而和它相像的Vector不是线程平安的ArrayList、中如何停止一个线程?9Java供应了很丰富的但没有为停止线程供应原来有Java APIAPL JDK
1.0一些像,和的限制方法但是由于潜在的死锁威stop suspendresume逼因此在后续的版本中他们被弃用了,之后的设计者就没有JDK JavaAPI供应一个兼容且线程平安的方法来停止一个线程当或者方法执行完的时候线程会自动结束,假如要手动run call结束一个线程,你可以用布尔变量来退出方法的循环或者是volatile run取消任务来中断线程什么是10ThreadLocal用于创建线程的本地变量,我们知道一个对象的全部线ThreadLocal程会共享它的全局变量,所以这些变量不是线程平安的,我们可以运用同步技术但是当我们不想运用同步的时候,我们可以选择变ThreadLocal量每个线程都会拥有他们自己的变量,它们可以运用Thread getset方法去获得他们的默认值或者在线程内部变更他们的值实ThreadLocal例通常是希望它们同线程状态关联起来是属性private static关于的面试题python、表达式格式以及应用场景?1lambda表达式格式后面跟一个或多个参数,紧跟一个冒号,以后lambda是一个表达式冒号前是参数,冒号后是返回值例如lambda x:2x应用场景常常与一些内置函数相结合运用,比如说,等map,filter sorted,reduce、的作用?2pass
①空语句do nothing;
②保证格式完整;
③保证语义完整、和作用3arg_kwarg万能参数,解决了函数参数不固定的问题会把位置参数转化为_arg tuple会把关键字参数转化为_kwarg diet、、和二二的区分?4is推断内存地址是否相等;is:推断数值是否相等==、、简述的深浅拷贝以及应用场景?5Python浅浅拷贝指仅仅拷贝数据集合的第一层数据copy copy,:深深拷贝指拷贝数据集合的全部层deepcopy copy,、垃圾回收机制?6Python接受的是引用计数机制为主,标记-清除和分代收集隔代回python收、分代回收两种机制为辅的策略计数机制的模块主要运用了引用计数来跟踪和回收垃圾在引用计Python GC数的基础上,还可以通过“标记-清除〃解决容器对象可能产生的循环引用的问题通过分代回收以空间换取时间进一步提高垃圾回收的效率标记-清除标记-清除的出现打破了循环引用,也就是它只关注那些可能会产生循环引用的对象。