浙江大华面试过程

来源:互联网 发布:mac del rio 编辑:程序博客网 时间:2024/06/02 11:19

去杭州是我弟弟接的我  他在杭州理工读书。

去的时候是下午,由于是做硬件的,有自己独立的大厦,去的时候不让我弟进去。我弟就只能在保安那个接待外来的人的地方玩(ps:我弟在里面睡觉了2个小时,很感想我弟陪我去面试哈。)

去的时候,我是推迟了几天去的,原本以为人不会太多,结果还是有好多。一个hr实习生先让我们填了一份表格,简单介绍自己的实习经历。部分来面试的还有5年工作经验的人。然后就按照不同的工作经验,和应聘岗位给了一份题让做。试题不是很难,前面3到算法题目(极其简单),后面3到面向对象思想+多线程的题目(这个有点恶心,因为面向对象我不擅长)。

然后我就联系当初打电话面试我的人,是个项目负责人把。

过了一会他就和我联系了。在大厅里面进行了一面。首先他叫我自我介绍,我自我介绍的时候看他看了我做的一下的题。不知道是不是电话面试的时候问过我关于在公司做的毕业设计的题目,他全程没有问。他就我做的题目,指出我上面的问题。前面3道算法题,他说我思路很明确,结构清晰。但是下面3道就有很多问题。归纳一下主要有以下几点:

1:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!得题目问我这个问题还有什么改进的地方,我想我擦这么简单的问题叫我改进,难道是内外循环的效率问题?  他说不是。我只能问那是什么?他说:你有没有想过把这个写成一个模版,方便其他人用,更进一步,写成一个函数,让他的功能不局限于10,可以为N?我记得我当初的回答挺机智的。我说,我没有想那么多,我以为实现就好了,模版我在选修课的时候老师讲过,不过没有在项目中使用到,写成函数我觉得到是挺不错的。

2:线程我写的是学校里面老师讲的算法。Proc1{} Proc2{}Proc3{} 因为我觉得写CreatThread() ExitThread再释放线程太麻烦了。而且我也没有信心写对。因为没有在UNIX/LINUX下写过多线程函数。

问题来了。面试官说我既然在windos下试验过多线程编程,那么类QQ那个程序里面使用了多线程和socket编程吗?

我:额,项目太久让我想想。我记得当初写了一个线程来监听端口是否来消息。面试官:哦,这样啊,你的意思是只有主线程吗?我:(妈的,就是没用你不懂啊)额,就是这样的,我想用也不知道在哪里用啊。面试官:那你有没有想过同时处理多过来的消息处理吗?我:没有,这是学校的一个学校项目而已。面试官:那就你的理解多线程干嘛用的?我:就是解决多问题并发的时候的调度,还有进程资源使用的分配。感觉和进程差不多。面试官:嗯,线程你可能了解的不多,进程的通信呢?有几种方式?我:进程有三个,管道,信号(就答出来两个)《 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
# 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
# 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
# 套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。

我说我也没有使用过多线程。

面试官然后就我类QQ又提出了socket的一些问题。socket协议在里面的具体使用。这个我刚复习了一下,把创建套接字,监听端口,封装包,sent,receive给他说了一遍。面试官:用的什么协议?听不懂?我说在udp的上场协议用什么?http?(什么什么的)?(我擦,怎么劳资听不懂)。就是你封装的包是按什么协议封装的?我:奥,这个啊。我是自己规定的数据结构啊,sent的时候传参数不是支持传指针吗,我传的结构体的指针。一个string传ip+端口,一个buff传文字啊。

3面试官:这个代码写的不好,你看从这一点反映你还是个应届生  全部都用main()。我:。。。。面试官:我们谈谈c++把,你知道C++的多态吗?我当初回答的还行,不过具体怎么使用的是一问3不知,然后转战C,以来就问malloc的分配在哪,如何分配。当时我是不记得咯。

二面是总监面:问了一下能加班吗?有什么有点。自我介绍偏多。又问了下会多线程吗。我回答学过。没怎么具体的用在项目上。一下就过了。估计是一面的面试官是我老大。

然后是hr面:问我打算带杭州几年,我说等我结婚生孩,孩上学我就回去。然后就是谈薪资。说有规定应届毕业生最高开到6K理我上面写的8K有点远,然后说有绩效有补贴,待遇还是不错的。折算下来年薪10w。问我是否有意向参加终面。我想还是算了把,除非给到7K,她说好吧。走的时候聊了下天。

最后总结一下:1、语言基础不是很扎实。2、多线程不熟悉,服务端会很重视。3、网络通信c方面会格外重视。4、做服务端会对熟悉操作系统要求很高。因为涉及到优化会和操作系统内存分配,进程等相关。

ps:西湖还是挺美的。

0 0
原创粉丝点击