自我介绍、在校经历
姓名,专业,学校,奖学金,爱好,竞赛。
一、项目经历(略)
“我有两个项目是比较满意的,我先讲一下第一个,当时做的xxxx项目”
“然后这个项目大概实现了一个怎样怎样的功能:xxxx”
“我在项目中主要负责xxxx,项目的架构大致如下:xxxx”
谈论下简历中项目担任的角色、遇到的问题、团队交流
介绍自己的项目,项目的难点?
你的项目具体做了哪些改进,改进你是如何实现的?
项目做的测试,你对测试结果研究过指标吗?
项目有没有什么感觉遗憾的地方?
项目中的一些细节?
二、机考题复现、手撕代码
1.打印水仙花数。水仙花数的定义:一个三位数的个位、十位、百位的立方和等于本身
2.打印斐波那契数列。斐波那契数列的定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)
3.目标数字分解出所有质因子。
4.字符串排序,且非英文字母位置不变。
5.有序数组中是否存在两数之和等于目标数字,要求线性时间复杂度。
6.给定无重复元素数组和 target,找出所有数字和为 target的组合。
7.给两个字符串a和b,判断a调换两个字母位置能不能得到b
8.二分查找字符串中的target字符。
9.输出最长递减子序列
10.两数相加
11.两个栈实现一个队列
12.合并有序链表
13.数组中的最长山脉
14.反转链表
15.有效的括号
16.求二叉树的深度
三、基础知识提问
擅长的语言?c# / c++
C/C++内存有哪几种类型?堆(存动态对象)、栈(存局部变量)、程序代码区、全局/静态存储区、常量存储区
程序编译的过程?预处理、编译、汇编、链接。
计算机内部如何存储负数、浮点数?负数:标志位、补码。浮点数:符号位、指数位、尾数
什么是内存泄漏?面对内存泄漏和指针越界,你有哪些方法?
内存泄露:动态开辟的空间,在使用完后未释放,导致一直占据该内存单元。要记得指针的长度、记得free
什么是面向对象?面向对象的意义?将需求要素转化为对象进行问题处理的一种思想。将需求中的概念直观的映射到解决方案,提高软件产品的可维护性和可扩展性。
C++ 类的三大特性?多态的实现?
封装:将数据或函数集合在一个个的单元,防止被我们无意破坏。
继承:主要实现重用代码,节省开发时间。
多态:通过基类的指针或引用,在运行时动态调用绑定对象函数。
重载:在同一作用域内具有相同函数名、不同形参个数、或参数类型、或返回类型
重写:在不同作用域内函数名、形参个数、形参类型、返回类型都相同,且父类带有virtual关键字
重定义:在不同作用域内只要函数名相同,且不构成重写,均称之为重定义
介绍一下虚函数表?主要是一个虚函数类的地址表,它解决了继承、覆盖的问题,指明了实际所应该调用的函数。当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重要了。
介绍下 TCP 和 UDP?区别?TCP 是一种面向有连接的传输层协议。可靠传输,面向字节流,传输慢。
UDP 是一种面向无连接的传输层协议。实时传输,报文方式传输,效率高。
TCP/IP五层结构?常见的协议?应用、传输、网络、数据链路、物理层。
HTTP 和 HTTPS 的区别?
1.https协议需要到CA申请证书,需要一定费用。2.https使用的端口是443。3.HTTPS是加密传输、身份认证的网络协议,比http协议安全。
1.http是超文本传输协议,明文传输。2.http使用的端口是80。3.http的连接很简单,是无状态的。
cookie 和 session 的区别?cookie 存在客户端(浏览器),session 存在服务器端的一个文件里。session 的运行依赖 session id,而 session id 存在 cookie 中。也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效。
线程和进程的区别?进程间的通信?管道、信号量、共享内存、套接字。
一个进程可以有很多线程,而一个线程只能属于一个进程,同一进程的多个线程可以并发执行
进程是系统调度资源的独立单位。线程是CPU调度的基本单位,线程是一个更接近于执行者的概念。
二分算法介绍一下?略
TCP三次握手说一下过程?第一次握手:浏览器向服务器发起建立连接的请求。第二次握手:服务器告诉浏览器,我同意你的连接请求,同时我也向你发起建立连接的请求。第三次握手:浏览器也告诉服务器,我同意建立连接。
死锁的必要条件,如何打破?互斥、占有且等待、循环等待、不可抢占。本质原因:系统资源有限、进程的推行顺序不合理。预防死锁、避免死锁、检测死锁、解除死锁。
对Linux了解多少?Linux常用发行版:centos、debian、ubuntu。优势:免费开源、安全稳定、跨平台硬件支持。
你大学期间印象最深的一门课是什么,它的体系是什么样?
① 数据结构,体系:链表、栈、队列、树、图、查找、排序
② 操作系统,体系:系统及结构分类,处理器调度,存储、文件、设备管理
③ 计算机通信网络,体系:OSI结构、通信技术、局域网
1、数据结构:
链表:增删改查、单链表、双向链表、循环链表
树:先、中、后、层次遍历
查找:顺序查找、二分查找
说说排序、以及时间空间复杂度?
速度:基排 > (堆排 > [快排 > 归并]) > 希尔 > (直接 > 简单 > 冒泡)
时间:n*k (nlog2n) n^1.3 (n^2)
空间:n+k 1 [nlon2n、n] 1
栈和队列什么区别?先进后出,先进先出。
介绍一下B树、B+树、红黑树、AVL树?
B树:节点关键字递增、左边分支<节点值<右边分支、叶子同层
B+树:叶节点有指针链接,对于范围查找更快,对于查找元素更稳定
红黑树:平衡度低、调整频率低、适用:增删多
AVL树:平衡度高、调整频率高、适用:查询多
图上的算法有知道哪些?最短路径算法:Dijkstra、Floyd,路径遍历:DFS 递归、BFS 非递归
介绍一下常见算法?贪心:求最少钞票数,hash:排序,动态规划:爬楼梯,回溯:求条件路径
2、操作系统:
CPU的结构能介绍下吗?控制单元、运算单元、存储单元。
多周期CPU有什么好处?优势:效率较高。缺点:不能并行,所以有了指令流水线。
单周期CPU:每执行一条指令需要花费一个时钟周期。
多周期CPU:每执行一条指令需要花费多个时钟周期。
介绍下操作系统,从它的进程调度,资源管理,内存管理这些方面?略
HRRF = FCFS+SJF、SRTF、RR、MLFQ、优先级调度
就绪 运行 开始 结束 周期 带权周期
进程的几个状态?新建 就绪 等待 运行 终止。
为什么用虚拟内存?扩大内存的容量,运行速度接近于内存,每位的成本又接近于外存
VA(虚拟地址)到PA(物理地址)怎么算的?假设虚拟地址16位,低12位为页内地址,高4位为页号,映射物理块号变为物理地址
物理内存怎么管理?连续存储管理(固定分区、可变分区),非连续存储管理(分页、分段)
外碎片怎么处理?内碎片呢?固定分区(内碎片)👉 改为可变分区(外碎片)👉 将小空闲区合并(移动技术)
3、计算机网络
华为路由器操作系统、通信协议?unix分时操作系统(可靠性高)、rip动态路由协议(根据跳数来判断最佳路由)
嵌入式开发?在嵌入式操作系统下进行硬件下的系统化设计和软件研发。
路由器,交换机?MAC、IP地址?
交换机(数据链路层):过滤,转发(依靠 MAC 地址)路由器(网络层):寻址,转发(依靠 IP 地址)
MAC地址(数据链路层)的分配是基于制造商;IP地址(网络层)的分配是基于网络拓朴。
网关?网关是复杂的网络设备,用于两个高层协议不同的网络互连。既可以用于广域网互连,也可以用于局域网互连。
网关是一个翻译器,与网桥简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。
主管面试
1、自我介绍
简要介绍学习经历、项目或实习经历即可。
2、职业综合测评
人生遇到的最大挫折,以及如何走出困境?课内与课外的协调。充分利用业余时间,注重理论到实践应用。
项目中你主要负责哪一块?你是如何做到统筹规划的 ?你发挥了什么作用?
数据库操作后台编写、图片上传功能,在项目开始时构思项目各部分,具体实现并不断调试,我起到了协商分工的作用。
说说三个优点和三个缺点?学习中注重基础、工作中抗压、生活中自我调节劳逸结合。内向慢热、比较笨、学的东西要消化很久(诚实回答),但是也从中学到了勤能补拙。
给你一个很困难的任务,你会怎么办?先尽自己的能力,如果不行的话,再找同事帮忙,或者跟领导直接说明白
如果你的团队中出现了不和谐你会如何处理?好好沟通
有在学生会吗?在学生会做了什么?组织了什么?没有。
对华为的看法?对岗位的理解?对自己的规划?想做前端还是后端?后端。
华为产品质量过硬,企业精神积极向上,支持民族企业。
1、具备嵌入式软件开发经验,熟悉开发流程
2、需要具备 C/C++语言,常用数据结构
第一阶段:研究生深造。
第二阶段:进入工作,熟悉工作环境,同公司文化融为一体。
第三阶段:不断丰富自己的专业知识,同时培养自己的人际关系。
对公司想问的问题?实习的具体工作、需要具备什么。
对加班的认识?若公司紧急项目需要可以配合,若非必须就不浪费公司资源
家庭情况?工作地点?手上有没有offer?不算富裕,家长支持专业重视教育,外地学生无所谓,没有。
我们公司被制裁你怎么看?“艰苦奋斗才有回报”你怎么看?因为贵公司优秀,确实。
为什么想来我们公司?课外娱乐活动的情况?喜欢贵公司的企业文化,课外生活丰富。
网友评论