中原银行一面面经(复盘)

1.进程和线程的区别?
答:(1) 进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。
(2)  进程是资源分配的最小单位,线程是CPU调度的最小单位
(3) 做个简单的比喻:进程=火车,线程=车厢
a. 线程在进程下行进(单纯的车厢无法运行)
b. 一个进程可以包含多个线程(一辆火车可以有多个车厢)
c. 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)
d. 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)
e. 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)
f. 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)
g. 多进程适合多核,多机分布,多线程适合多核分布。(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)
h. 进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-"互斥锁"
i. 进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量”
2. select, poll, epoll的区别
答:Linux支持I/O多路复用的系统调用有select、poll、epoll,这些调用都是内核级别的。但select、poll、epoll本质上都是同步I/O,先是block住等待就绪的socket,再block住将数据从内核拷贝到用户内存空间。

小结:
epoll是Linux目前大规模网络并发程序开发的首选模型。在绝大多数情况下性能远超select和poll。目前流行的高性能web服务器Nginx正式依赖于epoll提供的高效网络套接字轮询服务。
但是,在并发连接不高的情况下,多线程+阻塞I/O方式可能性能更好。
综上,在选择select,poll,epoll时要根据具体的使用场合以及这三种方式的自身特点。
1、表面上看epoll的性能最好,但是在连接数少并且连接都十分活跃的情况下,select和poll的性能可能比epoll好,毕竟epoll的通知机制需要很多函数回调。
2、select低效是因为每次它都需要轮询。但低效也是相对的,视情况而定,也可通过良好的设计改善

3. 网络编程中ip和端口通过什么函数绑定?
(1) 所谓绑定(bind)是指别人连接我只能通过我所绑定的端口,相当于,我买了一个手机,别人要想联系我,必须要知道我的手机号码,这时候,我需要怎么办呢?我需要给手机插上电话卡,固定一个电话号码,这样别人就能通过这个电话号码联系我。手机插上电话卡,固定一个电话号码,类似于绑定(bind)的过程,绑定(bind)为了固定一个端口号,别的网络程序就可以找到这个端口号,找到这个端口号就能找到这个端口号所对应的网络应用程序。
(2) 在网络编程里,通常都是在服务器里绑定(bind()函数)端口,这并不是说客户端里不能绑定(bind)端口,但这里需要注意的是,一个网络应用程序只能绑定一个端口( 一个套接字只能 绑定一个端口 )。

4. linux下常用的一些命令
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录

许愿:和两位技术小哥聊的还蛮好的,许愿能够进二面!







#面经##中原银行##校招##软件研发工程师#
全部评论
写的很详细,不错😁
1 回复 分享
发布于 2020-09-07 22:15
m
点赞 回复 分享
发布于 2020-09-29 13:31
请问笔试中的AI面试是问什么呀? 😮
点赞 回复 分享
发布于 2020-09-09 08:55
楼主,请问你投的什么岗位呢?我也是主要用C++的,找不到合适的岗位
点赞 回复 分享
发布于 2020-09-07 20:05
你们的笔试链接怎么整的😱
点赞 回复 分享
发布于 2020-09-05 03:54
**,为什么你问的这么难
点赞 回复 分享
发布于 2020-09-04 21:44
老哥收到二面消息了吗,职位是向总吗?
点赞 回复 分享
发布于 2020-09-04 20:38
楼主,软件开发岗问了这么多问题?笔试都考的什么啊?
点赞 回复 分享
发布于 2020-09-03 17:19
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-09-03 16:55

相关推荐

弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
7
80
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务