就在昨天面试了4399教育版块 C++开发工程师的岗位,还是做一下总结,希望对后面的人有所帮助。
博主毕业以后,在上一家公司工作了2年半,虽说每天忙的要死但是基本的东西一个都没学会,可能找工作和已经参加工作确实有所不同吧!博主在准备的时候,以为只需要准备Qt、C++以及算法相关的东西就行,那成想还有些其他的东西,浪费了得之不易的一次机会。
建议在面试前不要玩手机来影响到自己,定好的是11.20面试,然后自己起的比较早,8点就起来了就等着,中途有些无聊就玩了下游戏,然后就玩出问题了。准备好的自我简介都没流利的说出来,反倒下午的那家垃圾企业倒是很流利的说了出来,心态真的炸了。
最开始问了职业规划,唉,也是没有准备好,疫情工作不好找,我也一心只想找一份工作,所以就没多在意,只是有一个大致的方向,具体的并不详细。
---------------------4/28 对职业规划的补充---------------------------------------
我们一般可以选个范围,比如三年内,打好基础;往后的5年里,往架构师方向偏移,力争在35岁前有能力成为一名出色的架构师(毕竟各行各业的人都想成为站在人群顶端的那个人)。有可能面试官会问为什么需要这么久,你可以稍稍提一下原来的工作,比如虽然我在原公司学到了很多新的知识,但是这些还没有达到一个成为架构师的基本要求,仍需要在技术方向上继续努力,保证自己在着力成为架构的道路上没有盲点等等。
自己以前面的都是小公司,从没有提到过这些,自己当初校招进入这家公司的时候,只做了笔试题,面试题就三个问题,也是校招很普遍遇到的问题,然后就通过了,想想当初应该继续多花些时间找工作的,找一家技术实力好一点的公司。
关于线程和进程,问到了三个问题:
1)线程和进程的区别,当时准备的时候看过一点,觉得描述的太宽泛而且也没有实质性的东西可以解释,就跳过了。唉,想想都后悔。
2)线程间如何通信。这个只要做过多线程开发就应该大致知道一些,比如利用全局变量啊,等等。
3)进程间的通信。最主要的还是Socket通信,还有一些其他的,也怪我没看,加上当时脑袋已经一团浆糊了,就没回答上来。
关于STL问了2个问题:
1)vector是怎么管理内存的。这个我们听的是最多的,所以也很好解释,但是要注意描述好细节,如何申请空间后怎么做的内存管理等等。
2)STL算法与容器分离的优点。这个还好当时在工作的时候,看过侯捷的一些视频,就答了一些,虽然不全,也不至于让别人面试官觉得你工作了2年,连这些基本的东西都不知道,没有学习的激情。
关于C++11问了3个问题:
1)C++11智能指针是如何管理内存的。这点只要学过C++11,应该都知道,C++11相比C++98/03的优点,就是智能指针的引入,可能是广大初学者觉得C++指针太难用,所以推出来的吧!
2)C和C++的区别。这题我不得不吐槽,这尼玛是一个正经面试官该问题的题吗?你要说C++是C的扩充也行,要说是两种语言也可以,看个人理解,对吧。他要是问什么语言最厉害,我他么能和他刚起来。
3)数组与指针的区别。(我以为他会问指针和引用的区别,没想到问的这个,所以也gg了)
关于QT问了三个问题:
1)QT的优点和缺点。我只知道信号和槽这里有一些优缺点的,其他的不知道就没有回答。(T_T)
2)QT多线程通信的方法,这里一定要记得多说一种,就是信号和槽,其他的就和上面的回答是一样的。
3)问了一下我用QT做的那个项目。
关于项目问了一些:
1)服务端程序怎么管理内存的。说到这个不得不鄙视一下我原公司的项目。服务端的程序。存进内存里面的东西居然不释放,原因是数据太小可以忽略不记,维护了这么多年居然还不知道这里有隐患。当然也是我当时能力欠佳,找不到一个好的解决办法,所以这题回答的也不是很理想,只是按照自己当时臆想的方案回答了一下,有点碰运气吧,看他会不会给刚刚工作两年的我一次机会。
2)问了radis的一些东西。我实习的时候学的是javaweb,只在当时用过一些,只知道那是一个内存数据库,也猜到可能有些游戏服务器就是利用radis来帮助做内存管理的。但是这些知识自己片面的了解,如果真的要问到了,映像更不好,所以直接回避了这个问题,就说暂时没有了解过,后面再学习一下。
3)问了下XML以及数据库,这里没有问具体如何使用,只是问了下用到了哪些,哪里用到了。
差不多就这么些吧。另外疫情期间找工作一定要留心眼,比如上来就问你有没有遇到过多线程内存暴涨啊,面试题是直接让你现场编一个可视化软件啊,啥的,就要小心了,有可能是他遇到了什么问题解决不了,公司又不想多招人,所以就想了这个一个办法去解决他的问题,这个一般小公司比较多,还是要留心。这里我分享下我当天下午面试的那家公司(具体不说名称)。
首先定的是下午2点,我提前10分钟去了,结果那货2点20才到,加上周六本来不上班,公司的门是锁着的,我在外面等了半个小时,肯定是一肚子火吧。不过公司外面环境不错,比较空旷,也不吵,是我比较理想的工作环境,就忍了。进入面试环节,首先让你填一张表,什么身高啊,体重,都有。玛德,要不要给你量个三维,测个八字啊。好不容易进入面试,简历上的东西随便问了一下,就开始问一些有的没的东西
Q:你用QT编程有没有遇到过多线程内存暴涨的问题?
A:我的那个QT项目很简单,只有两个线程,所以暂时还没有遇到过。
Q:(他看了我们有一个比较大的PC产品)你们的这个产品可以同时查看多组信息吗?
A:可以同时查看
Q:那你们就没有用过多线程,没有遇到多线程内存暴涨的问题?
A:(张口就不离多线程内存暴涨)那个是网页做的,具体的一些东西也不是太清楚。
Q:你今天下午没啥事吧?
A:没什么重要的事。
Q:可能我们准备的笔试题不太适合你,太偏硬件了,这样吧,我们换一个,你用QT开发一个软件,功能balabala
A:(那个软件就是要根据类型筛选图像,然后对图像对一个分类展示处理,我这时已经意识到他可能不是真的想招人)这个我可能做不了。
Q:你学QT也就半年对吧?基础知识可能都还没掌握,可能有些控件你还不会使用,我们先这样吧。
然后我直接走了,他的电脑是可以联网的,我就算不会也会查百度,主要就是就算我做出来了,他也未必会招我,可能就只是为了看我写的东西来帮助他定位问题。何必浪费大家的时间,对吧。大家遇到这些类似的企业,还是要当心一些,尤其当下疫情还未结束,不少公司还处于半解体的状态。
希望大家都能平安度过2020吧,不经历风雨,怎能见彩虹呢?对吧!