近期笔面试问题总结

最近一周一直参加各种笔试面试,也暴露了很多问题,笔者尽可能的把遇到的一些问题回顾一下也当复习一下:

电信:笔者家乡的电信,一开始是面的计算机类的。

问到了以下几个问题:
(1)TCP/IP有几层?

关于TCP/IP的问题,是有4层,分别是应用层、传输层、网络层、网络接口层

应用层:应用层是用户面向应用程序的统称,ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。

传输层:TCP所在的这一层,主要是用于提供应用程序之间的通信,TCP/IP协议族在这一层与有TCP和UDP协议

网络层:TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。

网络接口层:(也可以说是数据链路层和物理层),这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

(2)FTP的端口号是多少?Telnet的端口号是多少?

常用的代理协议端口号如下:


(其余的一些端口号信息不在介绍)

(3)路由器是哪一层的?交换机又是哪一层的?

路由器是工作是网络层的,而交换机是工作在第二层的数据链路层。

(4)三屏时代指的是哪三屏?
真心一开始不懂问的是什么,后来发现原来是PC屏、手机屏和电视屏。

电信的面试大致只记得是这几个问题,如果有记起来的在补充吧。

海康威视:重点介绍下这个企业,可以说是国内做安防最好的公司吧,就是作视频监控这一块的。在杭州,听说待遇也还不错。重点是被面试官的人格魅力给折服了,面完感觉二面没戏了,没想到还是让我进二面了。

面试官对着简历随便问了一些问题,很随意的,面试官人也特赞。

(1)(对着简历)说下你知道的几个排序算法吧?哪些是稳定的,哪些是不稳定的。

冒泡排序(稳定)

选择排序(稳定)

直接插入排序(稳定)

快速排序(不稳定)

希尔排序(不稳定)

堆排序(不稳定)

归并排序(稳定)

(2)说说你在项目中在哪运用到了堆排序吧,堆在什么场景下运用的比较多?
关于这个问题,笔者很惭愧,在学校的项目中更多是实现功能,的确也不知道用到了什么地方。

面试官是这么跟我说的:在多线程处理的时候,经常性会用到堆排序的问题来实现多线程的一个操作。(大体上是这个意思,可能描述的不对,谁对这一块了解的比较多的,给我留言,让我也学习学习啊)

(3)关于Linux内存管理的问题,Linux系统的内存分配方式?

我是先回答Linux系统的页式管理方式,然后回答的是分配方式一个是对连续分配方式的处理:

  • 按页分配(伙伴关系)
根据模块需要分配大块内存,主要使用面向页的分配技术。

  • slab分配器
其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系统来进行分配和释放,不仅会造成大量的内碎片,而且处理速度也太慢。而slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分配器就从一个slab列表中分配一个这样大小的单元出去,而当要释放时,将其重新保存在该列表中,而不是直接返回给伙伴系统。slab分配对象时,会使用最近释放的对象内存块,因此其驻留在CPU高速缓存的概率较高。

(4)虚函数主要怎么样?

简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。
虚函数主要用于实现多态性的。

剩下的是关于笔试中遇到的一些问题:

联发科:

(1)由中序遍历、前序遍历求后序遍历

(2)什么样的函数可以作为虚函数?

(3)类型转换的问题?

(4)大端格式与小端格式

(5)死锁的处理

(6)嵌入式中常用的位操作

-----(上述为常见到的一些问题)-------------

亚控:

(1)常见的几种设计模式图

(2)排序算法的一些时间复杂度


展开阅读全文

没有更多推荐了,返回首页