【秋招总结】面试相关-基础概念
##操作系统:
进程与线程的区别:
进程就是运行的一个程序,一个进程可以包含多个线程;进程是资源分配的最小单位,线程是CPU调度的最小单位。
线存共享
进程同步
进程调度的算法:先来先服务等
进程和线程死锁:
解决多线程同步和互斥的方法:互斥锁,条件变量,自旋锁,读写锁,信号量
Sychonized和lock的区别
线程池怎么实现,7个参数?
进程死锁发生在什么情况下,编程时尽量破坏哪个条件来避免死锁:
内存管理:
内存分布、堆、栈
虚拟内存、分页问题
页面置换算法:LRU
进程之间的通信有哪些、各个优缺点
消息队列
生产者消费者问题
阻塞非阻塞、同步异步IO的区别
select/poll/epoll
死锁
多线程交替打印
##计算机网络:
OSI七层,每层都有什么协议;
第七层:应用层,操作系统中的应用进程和另一台主机上操作系统中的进程之间的交互。
代表性协议:HTTP、FTP、SMTP、NTP等等
数据单元:通常称呼为 Data,数据、文件、消息。
第六层:表示层,主要是为了帮助应用层定义数据的表现形式,例如应用数据加密操作
代表性协议:SSL、TLS、MIME、XDR
数据单元:Data,数据包
第五层:会话层,主要为了搞定主机与主机之间通信的会话的管理和控制。如会话的建立、挂起、恢复、关闭等等。如今我们用TCP协议较多,而这部分功能TCP已经自带会话管理。
代表性协议:SOCKS、RPC、SPDY
数据单元:Data,数据包
第四层:传输层,主要是为了提供端到端的数据传输,并为传输效率和传输质量提供保证
代表性协议:TCP,UDP
数据单元:TCP报文或UDP报文
第三层:网络层,主要作用是为了搞定两个网络之间数据的传输,包括路径检测和逻辑寻址
代表性协议:IP、ICMP、IPSec、RIP、OSPF、BGP(后三个协议使用了TCP协议传输信息,可以说它们工作在第四层,为第三层服务)
数据单元:IP数据包
第二层:数据链路层,是为了搞定局域网内互连的设备之间的寻址和数据传输。比如交换机/路由器与手机、电脑之间,电脑与电脑之间。网卡也工作在这层。
数据链路层又细分为:媒介访问控制(MAC)层和逻辑链路控制(LLC)层。
代表性协议:MAC、LLC、VLAN、VTP、ARP、802.3 Ethernet、802.11 WiFi、L2TP、PPP等等。
数据封装单元称为:Frame,中文一般称呼为“帧”。从第二层的“帧”往上,都是人们对数据规定的逻辑结构。
第一层:物理层,主要为了搞定设备和传输媒介之间的信息传输的问题。例如电脑与网线、手机与无线、电脑与U盘等。
代表性协议:PON、DSL、Bluetooth、802.3 Ethernet、802.11 WiFi、USB等等。
数据单元称呼为:Bit,比特。一般以电压高低的变化、无线电波频率或幅度的变化、光信号的波长的变化表示。
交换机、路由器、网卡工作在哪一层
网卡:工作在TCP/IP模型的网络接口层,即OSI模型的物理层和数据链路层。网卡将光电信号转换为数字信号,是物理层和数据链路层中的一个工具
进行 socket 编程时,OS内部实现的TCP/IP协议栈的相关模块完成TCP报文和IP数据包的封装或解封装,由网卡实现链路层帧的封装或解封装,由网卡实现物理信号的转换和发射。
交换机:主要工作在OSI模型的第二层,根据MAC地址实现数据帧的转发。
路由器:主要工作在OSI模型的第三层,其核心功能是基于IP协议实现的网络路径选择和数据包转发。它的另一个重要作用就是划分子网,换句话说其实也是连接子网
TCP与UDP的区别
TCP拥塞协议中的快重传算法、流量控制、拥塞控制
滑动窗口
TCP报文序号怎么分配
UDP怎么实现可靠传输
HTTP与HTTPS的区别:HTTP的keepalive
HTTPS加密方式
HTTPS握手过程
SSL协议
数字签名验证过程
session和cookie的区别
网络字节序和主机字节序,大堆小堆
DNS域名解析过程
输入“baidu.com”到页面跳转显示出来,发生了哪些事情
网络层的路由器
MAC地址长度
如果有很多链接同时到达,服务器响应不过来会怎么办:
##数据库:
事务
索引
红黑树
B+树
第一、第二、第三范式
一条sql语句是如何执行的:发送指令→处理连接→查询缓存→语法解析→查询优化→交给存储引擎去执行
truncate和delete和drop的区别:drop直接删除表;truncate清空数据,只删除表中的数据;drop可以删除某一列的数据,如果不加where子句 就等于truncate
事务如何保证原子性,事务日志,日志的实现原理,解决了什么问题
各种锁,表锁、行锁、间隙锁、共享锁、排他锁等等,主要解决了什么问题
数据库的主从备份、读写分离等
MySQL怎么解决幻读的【靠版本控制?】
MySQL插件在2008年被开发出来,直到2010在Oracle收购了Sun公司后,发布的MySQL5.5才正式使用InnoDB plugin替代了旧版本的InnoDB,至此 「备胎」成功转正成为MySQL的御用引擎而不再是插件。InnoDB采用多版本并发控制(MVCC,MultiVersion Concurrency Control)来支持高并发。并且实现了四个标准的隔离级别,通过间隙锁next-key locking
策略防止幻读的出现。InnoDB做了很多优化,比如:磁盘读取数据方式采用的可预测性预读、自动在内存中创建hash索引以加速读操作的自适应哈希索引(adaptive hash index),以及能够加速插入操作的插入缓冲区(insert buffer)等。
联合索引为什么要从左开始
序列化
##Linux
孤儿进程、僵尸进程
python垃圾回收机制
python多线程,能跑满CPU吗,解释GIL
python2和python3的区别
事务的实现原理:https://mp.weixin.qq.com/s/dkRvpamP9aiHvg8fmyrRRQ
##python
- Python深拷贝和浅拷贝
浅拷贝(使用copy函数或者copy模块里的copy函数):创建一个新的组合对象,只拷贝源对象的最外层元素,如果它还有子对象或者子子对象,则只拷贝了它们的引用,新对象与被拷贝的源对象共享内存中的子对象。
深拷贝(使用copy模块里的deepcopy函数):创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。虽然实际上会共享不可变的子对象,但不影响它们的相互独立性。
浅拷贝和深拷贝的不同仅仅是对组合对象来说,所谓的组合对象就是包含了其它对象的对象,如列表,类实例。而对于数字、字符串以及其它“原子”类型,没有拷贝一说,产生的都是原对象的引用。
- Python中*args和**kwargs的区别
在 python 中,*args 和 **kwargs 都代表 1个 或 多个 参数的意思。*args 传入tuple 类型的无名参数,而 **kwargs 传入的参数是 dict 类型。
is和==的区别
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)
is和==都是对对象进行比较判断的,但是对对象比较判断的内容不同:
- ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等
- is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同
3、数组和链表的区别
数组静态分配内存,链表动态分配内存;
数组在内存中连续,链表不连续;
数组元素在栈区,链表元素在堆区;
数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);
数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。
python垃圾回收
作者:鱼不用睡觉吗
链接:https://www.nowcoder.com/discuss/486049?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
python分代回收中的数据结构
python中的回收对象怎么快速确定内存位置
python回收内存溢出情况,怎么检查以及处理
什么是python元类
python库?
python进程/线程/协程
python协程怎么使用
python死锁怎么处理?怎么避免
【注意!一旦遇到环状问题,记得(i + 1) % n!】
如哲学家恰饭问题:
order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
python分代回收中的数据结构
python中的回收对象怎么快速确定内存位置
python回收内存溢出情况,怎么检查以及处理
什么是python元类
python库?
python进程/线程/协程
python协程怎么使用
python死锁怎么处理?怎么避免
【注意!一旦遇到环状问题,记得(i + 1) % n!】
如哲学家恰饭问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WIBWc2u1-1603615309661)(D:\学习笔记\放在typora里的图片\1597739710539.png)]
【秋招总结】面试相关-基础概念相关推荐
- 2022 Java秋招面试题-必备基础
文章目录 2022 Java秋招面试题-必备基础 一.语言基础 Java技术栈基础-语言基础 Java技术栈基础-spring Java技术栈基础-netty 二.面向对象 三.存储 redis my ...
- 2018年秋招笔试面试---小学渣求职历险记(深圳篇)
前文导读:2018年秋招笔试面试----小学渣求职历险记(中南篇) 我从来没有去过深圳,每次都是从男友那里了解到关于深圳的只言片语,说深圳开放,深圳包容,深圳如何如何-.反正我内心是不以为然的,眼见为 ...
- WiFi相关基础概念
转自:https://blog.csdn.net/lbaihao/article/details/73250798 一.WiFi相关基础概念 1.什么是wifi 我们看一下百度百科是如何定义的: Wi ...
- 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念
linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- linux驱动内核哪个文件夹,linux设备驱动归纳总结(一):内核的相关基础概念...
linux设备驱动归纳总结(一):内核的相关基础概念 1. 内核与 linux 设备驱动的作用与关系 内核:用于管理软硬件资源,并提供运行环境.如分配 4G 虚拟空间等. linux 设备驱动:是连接 ...
- 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念
linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10.04 开发平台:S3C2440开发板 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 春招秋招笔试面试时间(2020年)
春招面试笔试时间 序号 公司 投简历时间 春招笔试面试时间 1 腾讯 2020.3.10 3.17一面(微信) 3.20一面(网盘) 4.7 PCG的研发部 4.12光子侧开一面 4.18光子侧开二面 ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案
2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...
- SEO究竟是什么?SEO的相关基础概念介绍
可能对于刚接触优化的新手来说,要明白SEO是什么,只有了解之后才能有进一步的学习以及提升.在互联网搜索引擎中,已经有了大量的相关资料以及定义.不同的人会用不同的语言来解释SEO是什么,但是最终的结果是 ...
最新文章
- 手机怎样投屏到电脑_手机有线投屏到Windows电脑
- 在Developerkit开发板上运行blink例程
- 苹果笔记本只有电源键能用的解决办法
- KenBurns特效组件KenBurnsView
- Oracle linux R5-U7中YUM 源配置
- Vue + Element UI 实现权限管理系统 前端篇(八):管理应用状态
- 鸿蒙系统8xmax,华为8月9日发布基于安卓10.0全新系统:自主鸿蒙会同台亮相
- TeamViewer密码存储
- Timer和TimerTask类 例子 .
- 【转】RocketMQ的一些特性(生产者消费者配置参数的含义)
- 如何设置电脑开机自动提示(防止忘打卡等)
- 【Pytorch】expand()用法==》扩展某个维度
- SegmentFault 巨献 1024 程序猿游戏「红岸的呼唤」第四天任务攻略
- POJ 1664 放苹果(递归或DP)
- 4.PCIe协议分析2-PIO XAPP1052 XDMA三者联系和区别详谈
- 压缩的Swf文件利用Python解压
- 多重阴影的设置、鼠标激活时、相邻选择器的简介、display
- 前端模板标签eq与neq的使用,以及管理系统模块权限控制
- 回顾一年的IT学习历程与大学生活
- 知网是如何判断论文重复的?