一 思杰面试
1 主观题:
(English)公司认识;你能为公司带来的
非计算机专业你的优势
1 技术支持岗位认识!(对自己职位的认识)
技术支持是一个集个人沟通、知识能力广、强要求的总结,职位的认识上明确!
针对用户对自己产品的相关问题提出解决方案,记录反馈并与研发方实时沟通。
2 讲解自己比较熟悉的课程,问相关问题:(无奈之下:计算机网络、C++)
1) 自己PC机连接到校园网过程中IP的变化过程;--计算机网络
2) 交换机(switch)路由器(Router)
交换机:基于MAC(网卡硬件地址)识别,完成封装转发数据包功能。具有流量控制和组建局域网能力。
路由器:连接Internet中各局域网、广域网的网络设备。是网络枢纽,是组建广域网重要部件,用于寻找合适路由。
区别:
1>工作层次:交换机在OSI的数据链路层--工作原理简单;路由器在网络层--有更多协议信息,做出智能转发;
2>数据转发依据对象:
交换机:利用物理地址(硬件自带,一般不改,固化至网卡)进行转发;
路由器:利用IP地址(软件实现;网络管理员或系统自动分配)确定转发地址
3>传统交换机只能分割冲突域,不能分割广播域; Router可以
4>交换机负责同一网段通信,路由器负责不同网段通信
3) 进程、线程,死锁原因、解决方式;---操作系统
进程是资源分配的基本单元;线程是资源调度的基本单位。
死锁原因:资源竞争;进程间推进顺序非法
死锁必要条件:互斥条件;请求和保持条件;不剥夺条件;环路等待条件
死锁避免方式:摈弃“请求和保持”条件;摈弃“不剥夺”条件;摈弃“环路等待”条件
4) C++与Java的区别;new/malloc两者之间区别;
1> Java中对内存的分配是动态的,使用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变.程序运行中,每个, Java系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收集,使得系统资源得到更充分地利用. 程序员不必关注内存管理问题,避免了由于内存管理方面的差错而导致系统出问题。
C/C++采用malloc()和free()/new和delete来分配和释放内存。该机制中程序员要非常仔细地处理内存的使用问题. 一方面,如果对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源,甚至因此造成资源枯竭.
2> Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能.
3> Java不用goto语句,而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能.
4> Java不支持头文件,面C和C++语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂.
5> Java不支持宏定义,而是使用关键字final来定义常量,在C++中则采用宏定义来实现常量定义,这不得于程序的可读性.
6> Java对每种数据类型都分配固定长度.比如,在Java中,int类型总是32位的,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即16位,而在VAX-11中,则为32位.这使得C语言造成不可移植性,而Java则具有跨平台性(平台无关性).
7> 类型转换不同.在C和C++中,可通过指针进行任意的类型转换,常常带来不安全性,而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换.
8> 结构和联合的处理.在C和C++中,结构和联合的所有成员均为公有,这就带来了安全性问题,而在Java中根本就不包含结构和联合,所有的内容都封装在类里面
9> Java不再使用指针.指针是C和C++中最灵活,也最容易产生错误的数据类型.由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C++中的私有成员,从而破坏安全性.而Java对指针进行完全地控制,程序员不能直接进行任何指针操作.
5) 敏捷??
2 问题,及自己解决上的方式----压力测试
问题--解决过程
3 Linux是重要的