本文主要是介绍若干题目2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
五一过后,便返回学校了。返回学校之后,便是疯狂的刷题,复习以前的知识。数据结构、操作系统、计算机网络、linux、C++等。唉,复习的想吐了,都有想撕书的冲动了。终于,这艰难的几天过去了,周六来了。好激动啊。因为10点面试,早上8点起床,整理了一番后,蓄势待发。找了一间比较安静的教室,大概也就9点10分了。看了几眼书,其实根本就看不进去。开始把耳机拿出来,等着电话过来,啊啊啊,但是悲剧了,耳机是耳塞式耳机,一个头竟然掉了。艹啊,只有一个头,唉,只能带着残缺美上路了。终于等到10点了,以为会按时打过来,结果还没有,就怎样一直等啊等,那叫一个紧张and纠结啊。终于10点40,电话all来了。面试官上来先道歉,说让我久等了,面试官挺客气的,说话的声音听着比我大不了多少岁。嘿嘿。然后就插着只有一个头的耳机面试就正式开始了,一面:
例行公事,上来要我自我介绍。还好之前我有准备。之前去腾讯面试的时候,第一次没有经验,连自我介绍都不知道该怎么说。唉唉,还是自己太年轻了。然后我就把我之前写的自我介绍说了一遍,中间还贱贱的反问了两个问题。1、定义数组时,为什么不可以用变量作为数组的长度。2、在函数内定义一个字符数组,用gets函数输入字符串的时候,如果输入越界,为什么程序会崩溃。现在想想,这两个问题还写的比较有价值。然后面试官对我的第二个问题也挺感兴趣的,就问我为什么,因为之前准备过,然后我就balabala,涉及到C/C++函数调用机制,以及汇编层面的知识。感觉说的还可以,面试官听完之后什么也没说就开始正式问问题了
1、上来问了我的最近的一个项目,技术难点啊,怎么克服的。balabala
2、C++引用和指针的区别,这个学过C++的应该都知道,然后我也说了一些涉及到汇编层面的东西。比如引用其实是占用内存空间的、引用的指向并非是不能修改的,可以通过嵌入汇编代码修改。
3、C程序内存布局,这个应该都知道。
4、说说栈区和堆区,又是balabala,说的挺详细的
5、new和malloc的区别,其实都挺基础的,继续balabala
6、快速排序的思想、时间复杂度、优化方法。当时脑子抽了,把时间复杂度说成了O(logn),艹啊,然后还说了快拍在什么情况下时间复杂度最高
7、进程和线程的区别,这个学过操作系统的都不在话下
8、进程间的通信方式,我说了3种,他还问我还有没有别的了?唉,比较菜,真不知道,我说我不知道,他说没关系
9、又问我IO多路,伤啊,以前学过,忘记了,直接说不会。对linux方面问的还挺多的
10、说几个linux命令,我说awk、grep啊什么的。怎样建立文件夹、查看文件夹的大小、查看CPU使用率等
11、又问我最近在看什么书。因为之前看别人的面经的时候,说一面问你看什么书HR面也会问,你最好回答的都一样。我就说C++编程思想、深度探索C++对象模型、数据结构与算法
12、最后他说问我一个开放性的问题:秒杀一个奖品,让你设计一种软件模型。艹啊,瞬间傻眼。然后一想,要解决高并发、高流量、避免重复秒杀奖品。然后就说可以用生产者消费者模型来,给奖品加锁,他说,可以,但是加锁之后会降低并发量,问我怎么办,我想了说可以分流,把高流量分流,他又问我怎么分流,我说可以把奖品分组,每一组奖品加锁,然后把分流后的每一组流量分别打到每一组奖品上。他说可以,问我还有没有别的方法,我想了一会说,不知道了,唉唉,比较菜。他说,没事,这就是一道开放性的问题,没有确定答案
13、差不多40-50分钟也够了,他说他要给我登成绩,说我可以先去吃个午饭。也没有让我问他问题,不过这样也好,我也不知道问什么,之前准备了问面试官的问题,现在看来,还好没问,我准备的两个问题刚好二面面试官我问他一个,HR面试官问她一个。刚刚好。之前以为自己撑不到最后就只准备了两个问题,一面和二面。
二面:
下着雨,关键是还没有伞,呜呜。吃完饭后回到图书馆休息,突然1点10分左右二面面试官就打过来电话了,问我方便面试不,肯定方便啊,我说,让我找一间比较安静的教室。约定15分钟后打过来。果然15分钟后打过来了
1、上来就说对我的项目经验比较感兴趣。艹啊,感觉自己做的项目在人家眼中就是小程序。问我项目中遇到什么技术难题,怎么解决的,还有对软件设计的看法啊,拿到一个项目后,你是怎么进行架构设计的,艹啊,我想说我怎么知道。然后就在那里乱扯,什么自上向下啊、模块分解啊、界面实现和业务逻辑实现分开啊什么的。又问我在我的那个项目中,C++是用面向对象程还是面向过程的方式写的,我说我先抽象出一些类,然后balabala。问了大概有20分钟,差不多快占面试时间的一半了。说完之后就感觉自己戏不大,自信心暴减啊。感觉二面应该通不过。接下来终于问我具体的编程知识了
2、说说C语言中union和const关键字。又是一顿balabala,又问我union有什么好处,我说节省内存空间,设计一个学生的成绩时就可以使用共用体,他还问我有没有别的好处了,我说还可以用来测大小端存储,别的就不知道了
3、C语言中变量有几种存储方式。这个学过C语言的应该都知道,balabala,不过感觉最好说的细致一点,我有说了一些关于编译器层面的理解。
4、又是这两个问题,一面都问过了。进程和线程区别、进程间的通信方式,回答的和一面一样
5、线程间怎样实现独立访问,我说可以用锁,他说除了用锁还可以用什么,我说不造了。唉,菜的抠脚
6、然后又问我对XX数据库理解不,第一,没有听清是什么数据库,第二完全没有听过这个数据库。直接说不知道。然后他说,那问你关系型数据库的问题,他说的那个数据库应该就是非关系型数据库了
7、说说数据库的事物,我说不知道。唉,没有复习数据库,艹啊,自信心又大减
8、数据库为什么要建立索引,以及索引的缺点。balabala,感觉说的一般般
9、vector的分配问题,balabala,还好没有问vector为什么每一次扩容都是2倍,这个问题之前百度过,但是没有找到答案,个人感觉是采用丽奴许内存管理的伙伴系统的思想。不过还好没问。还有在vector中插入n个数的时间复杂度,我说O(n*n),他说确定吗?我说,应该是吧。感觉是是而非,但是算出来确实是O(n*n)
10、有2个很大的文件,也就是不能放到内存中,文件的每一行存放的是一个URL,每个文件的URL都不重复,但是两个文件之间可能有重复的,让你找出两个文件重复的URL。明显的大数据问题啊,还好之前准备过。我说,先通过哈希映射,用URL做哈希码,把每个大文件分成许多的小文件,他又问我,URL怎么做哈希码,我说URL也是字符串序列,可以把每个字符的ASCII码相加,他说这样做哈希冲突有点大,又问我怎么处理哈希冲突,等,这些都是课本上的,还应付的来。然后我又说可以把每个URL截取3段,最左边,中,和最右边,然后求ASCII码。然后我又说,可以用bitmap来把每一个小文件里的URL映射到唯一的一个位中,如果位有相同的那么这个URL就是重复的URL。他又问我,怎么把URL映射到每一位中,艹啊,于是想了之后说,可以用一个基准字符串,把URL的每个字符到这个基准字符的距离相加得到一个整数值,这个整数值就可以唯一的标识该URL了。他说bitmap中有重复的怎么办,我说如果重复了就可以说明这个URL是重复的,就可以确定了。然后面试官也木有说什么了。
11、有n个数,找出第k个大的树。我说可以先维护一个k个元素的最大堆,然后遍历剩下的n-k个元素,如果大于最大堆的根,就交换值(当时说错了,应该是最小堆。艹啊,太紧张了饿。)遍历一遍得到k个元素的最小堆里的k个数就是最大的k个数,然后快排或者堆排,最小的就是第k个大的数
又问我时间复杂度是多少,我说O(nlogn),艹啊,当时说错了,应该是O(nlogk),他又问我还有没有别的方法,我说如果如果k是1或者2的话可以在O(n)时间内找到。想了一会说不知道了。
12、问我有没有想问他的,我就说了一个,感觉二面都不会过了,就直接回图书馆了
HR面:
刚刚到图书馆还没有坐下来,HR姐姐打电话说她是第三面面试官,声音好甜,嘿嘿然后我说等我找个安静的教室。又是飞奔到教室。
然后上来就问我想什么时候去实习,实习时间啊,我本来想说实习暑假的,想了以下太短,又说实习3个月,她说希望可以至少实习半年。那必须听人家的啊。我急忙说,我们课比较少,可以实习半年。她又问我什么时候去实习,她那边希望尽快最好,我傻啦吧唧的说6月中旬,她说可以。感觉应该说立刻可以去实习的。唉唉,接下来就是正式面试了
1、问我的项目,感觉问的比二面还要细致,我就balabala,说了好大一会,说的嘴都干了
2、又问我对搜索引擎的看法啊,技术难点啊,什么的,非法排名啊
3、又问我对当下比较热门的技术的看法,人工智能、机器学习什么的,一直在那里扯,感觉都不知道要说什么了,感觉HR面比技术面还要煎熬
4、又问我有没有搜索引擎、数据方面的项目经验,啊啊,直接说没有
5、又问我对什么感兴趣,算法啊、等,我说算法,又问了一大堆算法方面的东东
6、问我想从事哪一块的工作,我也不知道有啥,嘿嘿,我就说C/C++后台服务器开发,她说,范围太大了,我给你说几种吧,数据挖掘、机器学习、人工智能等。我随便选了一个,数据挖掘
7、又问了我数据挖掘的好多东西。比如想挖取大众点评的论坛的里面的内容,要怎么样做。艹啊,我怎么知道,一顿乱扯。我说先用一个爬虫去爬取,可以伪装这注册一个用户,然后这个用户就可以看到论坛里面的东西了,就可以用爬虫来挖取走。然后我又说如果大众点评有这种反假用户分技术就不好半了,balabala,说了一大堆,然后又说但是这种方式效率有点低,我说可以分布式。。。真的快顶不下去了。
8、又问我数据挖掘的技术难点啊,我叉,身体and心灵已经千疮百孔,我说第一,会被识破虚假用户的身份,她说确实是一个难题,我还说数据更新这一块也是个难题,具体更新到什么时候也不确定。还真被我给晕对了,HR姐姐说这还真是一个比较大的难题。看来今天是人品大爆发了,嘿嘿。
9、问我有没有什么想问她的,我说百度公司内部文化。最后我又说我6月中旬去可以不,她说可以。
后记:终于完了,3面大概都是40-50分钟。激动啊,菜鸟一枚也可以通过。激动,但是不知道最后会不会被录取。
这篇关于若干题目2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!