就我一个是应届生,居然还有个研究生!另外的都是有经验的。郁闷。题目不难,只是我水平不到位。那研究生做了一个小时(共两小时)哎,算是自己慢慢积累吧。有几个题目还不是很清楚,拿出来问问!帮忙解答者重分答谢。1:Release版本下如何解决memory leak 以及非法操作的BUG。(搞不清什么非法操作)2: 在异步socket时,为什么有时send不出数据,会报什么错误(分windows/linux下),你一般怎么处理?下面是几个编程的
3:实现strstr模型 (我晕,我写了个函数,只是不是strstr,而是strchr)4: 实现printf类似的函数, void myprintf(char *str,...)
(用console API吗?好像在哪书上看到可用那些API实现,嘿,我就写了个std::cout<<)
5: 删除文本文件中出现频率最小的单词,(文件里以空格表示间隔一个单词)
void func(char *pTxt)明天去人才市场看看,祝自己好运。
实在找不着就打道回府了,毕业后再来。哎,住旅社,每晚30,money啊?穷咧PS:以上牢骚过多,随怎么砸臭鸡蛋,呵
3:实现strstr模型 (我晕,我写了个函数,只是不是strstr,而是strchr)4: 实现printf类似的函数, void myprintf(char *str,...)
(用console API吗?好像在哪书上看到可用那些API实现,嘿,我就写了个std::cout<<)
5: 删除文本文件中出现频率最小的单词,(文件里以空格表示间隔一个单词)
void func(char *pTxt)明天去人才市场看看,祝自己好运。
实在找不着就打道回府了,毕业后再来。哎,住旅社,每晚30,money啊?穷咧PS:以上牢骚过多,随怎么砸臭鸡蛋,呵
2。Io pending.或者系统buffer没有装满。
{
while (*str != '\0')
{
char *p = (char *)str;
char *ps = (char *)strSearch;
while ( ps && *p == *ps )
p++, ps++;
if ('\0' == *ps)
return (char *)str;
str++;
}
return NULL;
}2、从指定文本中删除出现频率最少的单词,如果有多个,则都删除。实现void func(char* pTxt)函数。... 看 单词处理, 论坛中很多都有涉及3、printf的实现。int printf(const char *format, ...)
{
va_list arglist;
int buffing;
int retval; va_start(arglist, format); _ASSERTE(format != NULL);#ifdef _MT
_lock_str2(1, stdout);
__try {
#endif /* _MT */ buffing = _stbuf(stdout); retval = _output(stdout,format,arglist); _ftbuf(buffing, stdout);#ifdef _MT
}
__finally {
_unlock_str2(1, stdout);
}
#endif /* _MT */ return(retval);
}4、VC中有哪些方法避免C编译头文件重复。(除了#ifndef/#define/#endif外,就想不出来了)#pragma once
5、extern "C"的用法。用于 提供 C 接口, 如使用 C 命名方式 等 .
6、异步socket编程中,send不出数据的错误码是什么,(举Linux或Windows为例),你是怎么处理的?非阻塞SOCKET,SEND不出数据的原因有2个吧,TCP下连接断开了和该SOCKET处在阻塞状态(也就是说在发送数据中)。UPD发不出只有TCP后面的情况。处理的办法就是记录下该SOCKET的状态,当状态为阻塞的时间,放入缓冲,当该SOCKET再次可写时,发送。7、异步IO和同步IO有什么区别?举例说明有几种(如read)?异步IO当函数返回时不一定就完成了IO操作,而同步IO已经完成了。所以异步IO需要有一个事件,当IO完成时会设置此事件,调用者在事件上等待。
8、32位系统中,出现结构字节对齐的问题和大小端的问题的避免?#pragma pack(4)
9、如何查出内存泄漏和非法操作的BUG(在Release版本下)?使用map文件
哎...想死ing
1:Release版本下如何解决memory leak 以及非法操作的BUG。(搞不清什么非法操作)
我都是用Debug模式加上DevPartner来检查内存泄露的。如果Release模式下都能解决这些问题,那么还要Debug模式干什么?难道微软真的就这么愚蠢?硬要搞出一个没有用的Debug模式?还有,什么叫非法操作我也不是很清楚(是不是数组越界访问或者访问野指针之类的错误?)。
2: 在异步socket时,为什么有时send不出数据,会报什么错误(分windows/linux下),你一般怎么处理?
我每次都能send出数据,不会报什么错误。怎么办?
3:实现strstr模型 (我晕,我写了个函数,只是不是strstr,而是strchr)
字符串查找有专门的匹配算法。数据结构的书上面都有。只不过我从来都是直接使用strstr的。我怎么可能记得住这个算法的具体程序?有种你别看书,给我写一个伪随机数生成的程序来!(不巧要是真的被丫写出来了就再让他写一个A*算法的具体程序)
4: 实现printf类似的函数, void myprintf(char *str,...)
这个倒不算太难。用stdarg中的宏就可以了。只不过让我准确无误的写出这三个宏名我还是做不到,我需要查msdn。
5: 删除文本文件中出现频率最小的单词,(文件里以空格表示间隔一个单词)
这个程序虽然不是很难,但要完整写出来并不容易。需要很长时间的调试。至少半个小时一个小时之内,我写不出。要么就是写出来的程序其实根本不能用。如果能够用C++的话,那倒稍许容易一些,至少能让stl帮我们打杂。
8、32位系统中,出现结构字节对齐的问题和大小端的问题的避免?
大小端问题可以避免?不会吧。这样的公司其实不去也罢。程序设计很重视基本功。基础不好,光有经验,是不可能写出好代码的。中国的公司急功近利,中国的程序员们也都急功近利。希望lz找到好工作的同时能够真正炼成高手,不要成为类似于出题人那样的三脚猫。
PS:他们是做VPN的
void* str1 = malloc(100);
sizeof(str1) = 4;
char str[100];
sizeof(str) = 100;这个没问题吧?union
{
int a;
char b[2];
}s;void main
{
s t;
t.b[0] = 10;
t.b[1] =1;
printf("%d", t.a); //多少?union那只4字节咯,我填了个10
}另外的都不太难,要写个strcpy
实现一个带指针成员的类的四个基本函数,constructor, destructor, copy constructor, operator=应该有戏。
但愿了咯哪有仁兄还可提供点这方面的信息,THX
=========================================================
至少该是266吧,再说了,t没初始化。
高位两个字节随机的,谁知道等于多少。
union
{
int i;
char x[2];
}a;
void main()
{
a.x[0] = 10;
a.x[1] = 1;
printf("%d",a.i);
}确实是266 为0x010A
呵,哎。基础不札实下面是些经典的笔试题,有需要的朋友看看
http://blog.csdn.net/wfwd/archive/2006/05/30/763664.aspx
我去的时候没有考FTP,我记得的题目有以下4个
1、 平衡加密算法和非平衡算法的区别(或对称)
2、 shell编程中Cat给自己是否有问题,原因是什么
3、 结构体变字节数控制char只占一字节
4、 检查链表无环的最快方法(Pollard rho算法)
我去面试已经有好几个月了,所以现在面试题目应该变了些了。
我没能进那个公司,我也很郁闷呀。我自己还在华为工作。
PS:LZ实在觉得工作不好找可以来华为,华为招聘跟抢人一样,生怕人家不来。
不过应届毕业生不一定进得了华为技术,普通大学的多半都是进一个叫慧通的子公司,工作上没什么区别,薪水只有基本工资3600和最高1200的加班费(不加班就是0),LZ愿意的话可以试下。
其实他面试没问什么仔细的面试题目,他对照自己做的一个FTP 项目仔细的问了很多,只能怪自己基础不札实了。其实照他那样问,我稍微复习下就能过的。现在想起来好可惜。问下: 慧通现在还在应届生吗?
华为是在坂田吧,好像是在他招聘网站上注了册就可以去笔试了,是这样吗?
但他们说他们公司没有招应届生的先例,得向boss请示下好不容易一个offer,莫非又这样泡汤.......
哎,真不容易
femalelover其实我不管能给多少,那公司给我感觉还可以...只怪自己基础不札实了.大哥,广州那边情况如何?
相比之下我就啥都不会,去的七月份毕业现在在一家电子厂做公司内用软件用MFC,边学边做.经常
埋怨工资少,看来以后应该珍惜机会好好学习喽.等咱有资本再论报酬吧.
顺便向大请教一个问题:我在文档类的serialize()函数中写如下代码:
if(ar.isstoring())
{
int a=10;
ar<<a;
}
else
{
int b;
ar>>b
}
打开存储文件时系统提示出错
错误如下:
Program: <program_name>
File: wingdi.cpp
Line: 109把上面代码改写如下:
if(ar.isstoring())
{
int a=10;
ar<<a;
}
else
{
int b1,b2;
ar>>b1;
ar>>b2;
}
可以运行,但是弹出Messagbox提示:"显示非预期的文件格式!"
请各位高手帮帮忙!
femalelover其实我不管能给多少,那公司给我感觉还可以...只怪自己基础不札实了.大哥,广州那边情况如何?
----------------------------------
深信服就算啦, 年收入不少于8万, 实际工资4500, 我笔试过了, 面试时, 问到第七个问题时候我发火了. 最后说:你的水平不值4500, 3500接受吗?
现在的面试只有更变态,没有最变态.
前几天我还遇到直接用English问我技术问题的.竞争对手多了.选择人的方式变了.
数据结构搞来搞去就是个链表, 算法就是个排序, 实际操作就是个字符串, 嘿嘿
数据结构搞来搞去就是个链表, 算法就是个排序, 实际操作就是个字符串, 嘿嘿
那确实,在深圳笔试了几家后深有体会.(9考这个一般都能过)呵,明天上班了。
下班后结帖...
泄露天机,有干天和.
做一项目,都要签保密协议咯?呵对我应届的来说,实际经验确实太少了。
发狠学习了谢谢上面所说的兄弟,结帖了...