交大学子技术类笔试经验分享
经过将近2个月的折腾,job hunter的日子也已经over了。无数次上这个版,今天冒着被取消offer的危险给大家泄点题,来点面经,给学第学妹们多点参考资料。希望大牛们不要嘲
笑我,主要是面向学弟学妹们或者将来要找工作的同学的参考资料,针对cs||se方向的同
学。
首先,谈谈笔试的电面。笔试或者电面一般是公司挑人的第一关,而在这一轮,不同公司
会有不同的风格,但是大体上,掌握好这些东西肯定是错不了。
1. english , 外企笔试或者电面基本都是用英语的,所以英语至少要看得动,能跟他们聊。其实周围蛮多同学对自己英语没有自信,其实我认为只要过了6级就这一关就肯定够用了
。尤其是电面的时候,技术上可能是用中文说,部分公司(morgan...)除外,但是总归得准
备一份流利的英语自我介绍对不对?
2. 基本学科 。像google, baidu这样的公司只考算法,其实基本学科的东西相对就比较弱了。但是其他公司基本上就是你这几年学到的东西,首先当然是coding能力,要不写 cod
e,要不看code, 在笔试的时候只需写出思路就行了,不必每个变量,每个循环就斤斤计较;但是在微软电面的时候会有一个live meeting的东西共享一个记事本,让你在上面写code, 这时就最好注意一下你的coding style, 包括方法变量命名,先写test case, 考虑周不周到,而且微软那边特别爱考字符串转int, int转字符串;比如后者,你就要先考虑int有没有可能是数;是不是可以扩展把进制用变量或者参数描述;在求int的位数(字符串长度)的时候怎样求,用循环除以进制数还是直接用log的方法等等。基本coding能力还是很重要地。
其次就是各个科目了,数据结构:很多人说这个很重要,其实这个没有想象中的需要那么
多的精力,只需要知道概念就是了,链表,二叉树,图,基本排序算法这些概念要知道;
比如二叉树中序+前序(后序)能决定其排列等基本性质;
然后类似于一些比较经典的算法题目:
如何判断两个链表是否有交叉点,链表信息不知道,希望是o(n)的算法,而且o(1)的空间;
同样不知道链表信息,如果判断一个链表是否有环?
如何在大数组里去重?
如何在两个二叉树中求得最大子树(高度最高)?
其实算法这个东西我也不知道怎样准备,知道一些基本概念(递归,回溯,hash, 动态规划,分支之类的)然后平时可以多上acm的网站练练手,做多了也就有感觉了(其实我自己都没
怎么做过这些题目)
网络:总归得知道tcp/ip的7层协议,没层是做什么的,有哪些代表协议,其中最重要的就是网络层和传输层,ip地址,子网掩码的作用及原理, icmp(ping), nslookup, netstat 之类的命令也应该有所了解;tcp/udp有什么区别; 数据库: 总归得知道基本sql语句怎么写,包括一些基本函数(max, sum),和一些in, some, all的关键字,其次事务的基本性质(acid) 隔离级别范式的概念也要知道;操作系统,这个学的时候肯定要好好学,不过貌似面试的时候不会考得很深,比如进程线程的区别啦,进程调度算法,死锁形成4大要素以及分别对应的解决方案,比较容易考的是银行家算法,以及虚存页面置换算法,比较容易考的是lru,最好的工作集反而考得不多;其他科目就可以忽略啦 哈哈但是不是让大家不学。
笔试的时候一般会有智力题目,像之前在笔试微软的时候居然有一道"爱因斯坦的超级问题",这个没什么好准备的,能做就做,不能做准备也没用,具有比较大的偶然性,所以可以
不管这一块;
再来说说面试:
对于我来说,笔试或者电面过了,面试我就不怎么害怕了。因为面试有个很大的优势是你是跟他当面交流的,可以有肢体语言,尤其是眼神上的.交流,尤其是技术面,如果你搞不
定的时候可以从眼神里获得提示,反正面试的时候就淫笑着盯着她(他)眼睛看,保你没事,呵呵;如果是聊天面,这下你就要掌握好这个度了,要在前几句话看出这个人nice不nice, 像不像要卡人的人,如果是的话,就要注意了,不要乱说话,要打七寸;如果不是,就不要担心拉,随便吹,吹你有多厉害,当然要保持谦虚,我想大家应该都能掌握这个度
的;
所以我觉得在面试的时候关键还是要淫笑+暗送秋波。
接下来说说我遇到的或者同学遇到的一些笔试面试题目吧,仅供大家参考:
1. 两颗二叉树求最大相同子树(高度最高);
2. 把一般的加减法改成波兰后缀式;
3. 两个很大的文件,每个文件有数千万行,没行都是一个字符串,求两个文件中字符串相同的行,也就是求交集;
4. 有10个球,球和球之间没有区别,分成 n堆,随便你,做这么一个操作,从每堆里面拿出一个,放到最后形成一个新的堆,比如一开始是分成两堆,每堆5个, 序列是(5, 5),
一次操作之后序列成为(4, 4, 2), 再一次之后变成(3, 3, 1, 3), 求证经过有限次操作之
后,序列一定会变成(1, 2, 3, 4),不能用类似于枚举这样的算反,要数学逻辑上的推断(至今仍未搞定)
5. 扫描病毒优化。假设有一个病毒库,很大,有成千上万个,为了简单,假设全部是一定序列的字符串;在扫描病毒的时候,最简单的办法就是把一个文件用这成千上万个病毒库
都匹配一次,如果全部都没匹配上,则证明该文件是安全的;但是磁盘上的文件也不是个
小数目,求优化;
6. 咱们在google或者baidu的时候都会有大量的重复网页,怎样判断+去重;
7. 一个游戏,我把你眼睛蒙上,然后在一张旋转的桌子上面方有4个硬币,放在正方形的4个角上,你让我做操作翻硬币,一旦4个硬币的状态(正面朝上||反面朝上)一致,则告诉
你你赢了,求能让你必赢的操作序列;
8. 在一个只有加法(+)和比较(==)的机器上,实现+, -, *, /四种功能;
9. 设计一个搜索时用的cache;
10. 一次遍历找出一个链表的最大的n项(coding);
11. josephus 问题(烫手的土豆的游戏);
12. 一个国家只喜欢男孩,不喜欢女孩,没对夫妇最后都以生孩子都是一直生到男孩为止,求这个国家的男女比例;
13. 甲向乙借了ab.cd元钱,乙催帐,甲为了还乙钱,向丙借ab.cd的钱,但是丙没有现金,只要给了甲一张支票,甲到银行换钱的时候呢,银行小姐失误了,给了他cd.ab元,这样
呢,甲不但还了两个人的钱还剩了1元钱,求 a, b, c, d;
14. 如果我vpn一直连接不上,请问你怎么解决这个问题;
15. 给你两部一模一样的手机,有100层楼,你要给我最高从多少层楼仍下这部手机的时候手机不会坏掉,求最少的仍的次数;
16. 还有一些开放性的题目,上海市一个有多少个网球,多少个下水道盖之类的;
祝各位好运
更多相关的文章推荐,大家敬请关注笔试经验频道!
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.gunzhua.com/jiuye/bishi/74005.html