• 0

Programmers: Your favorite interview questions


Question

I haven't seen one these posts yet on this forum(if there is forgive me : )), but I figured to help out more people looking for programming work I would start a post for employers who are looking to hire new programmers what kind of questions you guys ask. I'm the technical director at a small game studio in LA, and were expanding so I also looking to see what everyone does so I can adjust accordingly.

Some of the basic questions I ask are:

What is global scope/local scope.

What is a template class

What is inheritance/polymorphism/etc.

Than some really basic logic stuff like whats a recursive function, etc etc.

Than I begin to ask a couple questions that are kind of off the wall because one thing I noticed is College graduates from big schools such as UCLA 9/10 can't figure stuff for themselves. Students are so used to stuff getting spoon fed to them, some of which is just nasty. One thing that really irritated me at one of the studios I worked at previously a couple of there senior programmers came to me and said "I don't know how to do xyz, can you help?" This normally is a pretty common thing, except when xyz happens over and over again and its something that easily be found by doing a quick google search.

I ask the interviewee if they can do something that 99% of the programmers out there can't do. They would obviously say I don't know, I would then ask them than to look it up for me on google and write out basic steps on how to get it done. Lets say I ask them how to register a custom Debug Engine in Visual Studio, first google search for "visual studio custom debug engine" which turns up http://msdn.microsof...4(v=vs.80).aspx , with a link to http://msdn.microsof...(v=vs.110).aspx. Even though the information on the latter article is actually wrong if they copied that I would be so happy. I've had guys sit there for 10 minutes struggling, and I feel that's kind of ridiculous. Every programmer in world should know how to use google :/.

Than depending on the level of the job, I would go into some more nitpicker things say in Unreal, Unity, D3D, whatever and if someone didn't know the answer I would ask them to google it and give me an explanation. I had actually had one guy who didn't graduate from a college, straight out of high school and he didn't know something I asked him, and than he immediately asked if he could go on google and look it up. I actually hired him on the spot and he ones of the best programmers I've ever had.

Anyway what kind of stuff do you guys ask?

Recommended Posts

  • 0

I no longer ask technical questions because we aren't allowed to do face to face interviews and over the phone, any one can do fairly well so I base my judgement on the applicants technical inquiries.

  • 0

It's probably worth mentioning why that won't always work... what happens if a = MAX_INT - 2 and b = MAX_INT - 3? The addition of a and b will overflow...

Can you think of another operator you can use?

There's a cute trick with the xor operator but I don't see any value in testing if the candidate knows about it. If he can find it on the spot then that's certainly impressive, but is it really the kind of skills you're looking for? On modern CPUs this is even counter-productive compared to using a temporary variable, so it's a typical example of premature and misguided "optimization". I view this type of question as outdated and as an interviewee it'd raise doubts in my mind about the company.
  • 0

I no longer ask technical questions because we aren't allowed to do face to face interviews and over the phone, any one can do fairly well so I base my judgement on the applicants technical inquiries.

Wow, really? I would struggle to employ anyone I haven't met face to face. Just out of interest, how many of the candidates you employ turn out to be a waste of space?

  • 0

As already mentioned by a few of the people above, FizzBuzz (well, a slight variation on the FizzBuzz question) is probably my favourite. While it doesn't find "good" programmers it does well to quickly weed out the 80-90%+ of applicants applying for programming jobs who can't code at all. At work we always ask it before the proper interview, if the applicant can't do it with and without modulo in a reasonable time we don't even bother with the full interview.

  • 0

if you can't do a modulus program..... and 99.5% don't get it? seriously?!

There's a cute trick with the xor operator

I haven't really used modulus for anything besides rand(), and to be honest I would be tripped up on a modulus question. XOR operators I have used, and do use on a regular basis, but the mechanics behind xor I would only consider asking if I'm hiring for a high level position that has a lot of technical work behind it that would benefit from knowing how xor stuff works(e.g like a video codec). I try to steer clear of nitty gritty stuff like this because people are coming in knowing there competing against a lot of people so they come in scared.

I have been doing programming now for 17 years and professionally for 10, it really wasn't until I went to college and talked to people in the game industry that I was able to land my first gig. I'm entirely self taught(I really just went to college to do the meet and greet stuff), and I remember when I was first out of high school I got a dry interview at Square Enix. The guy asked me what was global scope and local scope; I knew what scope was but never heard that term before. Needless to say I botched up the interview, but now that I actually have to do interviews I try to take that experience into account.

Their are a lot of veterans in the game industry(my field anyway) who are entirely self taught like myself that haven't heard various terms like scope(until someone brings it up) but they know what it is. This is why I try not to be a term nazi and if someone doesn't know something, I give them the chance to look it up. If they see the term and go drr and from there look away from the screen, and tell me exactly what it is I'm just fine with that. But you would be surpised on how many college graduates can't look stuff up, and I know for a fact they probably haven't done some parts of what I need them to do(just becuase a lot of game programming stuff isn't taught in any school), and if they can't figure it out I can't hold someones hand through the work.

While it doesn't find "good" programmers it does well to quickly weed out the 80-90%+ of applicants applying for programming jobs who can't code at all.

Again it finds programmers that paid attention in school, doesn't mean they have good logic, just good retention :p.

"C++/CLI should be thought of as a language of its own (with a new set of keywords, for example), instead of the C++ superset-oriented Managed C++ (MC++) (whose non-standard keywords were styled like __gc or __value)." http://en.wikipedia....iki/C%2B%2B/CLI

C++/CLI has its own ECMA standard distinct from the ISO C++ standard, it is not designed by the same comittee, it has a different syntax, a different compiler, it compiles for a different platform.

CLI I don't think is used enough and have enough practical usage to be taught as its own course. Personally, I wish CLI would just go away, it really clusters up a codebase :/.

if the applicant can't do it with and without modulo in a reasonable time we don't even bother with the full interview.

To each his own, but I personally like the steer away from stuff like that because as I said just above that shows more retention rather than logic, and since a lot of things I need my employess to get done aren't taught in school I really try and group logic testing and ability to research something in one section of the interview. This why I ask someone how to do something I know isn't taught in school, and they can outline and do research on what needs to get done as quickly as possible odds are there pretty logical.

Before that if they know polymorphism, pointers, etc I know they can at least program, so I try not to focus to much on if they can program or not. I want to find someone that can think out side the box. One other question I ask is, since I always look for someone that knows C# and C++, I ask them how would automate hooking up managed and unmanaged code without using CLI or Com.

  • 0

if else man .. ftw ... then again the most i did was arrays

That's the whole pitfall of FizzBuzz (unless you do duplicate checks, which is usually not wanted)

Given two integer variables, A and B, how could you swap their values without using a third variable? (This is my favourite. It wasn't actually given to me, but to my housemate at the time. He didn't get it, but the interviewer gave it to him to do on the train home, he figured it out on the train and emailed the answer to the interviewer, subsequently got the job :p)

Could you give the solution? Or is the solution language specific, like Python assigment:

A, B = B, A 

But still, internally I'm sure a temporary variable(s!) is being used.

EDIT: Forgot to add my solution.


void FizzBuzz()
{
for (int num = 1; num < 101; num ++)
{
bool multiple = false;
if (num % 3 == 0)
{
cout << "Fizz";
multiple = true;
}
if (num % 5 == 0)
{
cout << "Buzz";
multiple = true;
}
if (!multiple)
cout << num;
cout << endl;
}
}
[/CODE]

I'm still not sure if it's better to declare a variable outside of the loop, but I'm fairly sure it will be optimized by the compiler.

And my solution is fairly readable (I hope).

  • 0

Again it finds programmers that paid attention in school, doesn't mean they have good logic, just good retention :p.

I think asking a candidate to solve FizzBang with and without modulus is silly and defeats the point of the exercise. They just need to make sure they produce some code that solves the problem as expressed in plain English through whatever means necessary in a reasonable amount of time without making any of the common mistakes.

That way it does weed out 90% of those people that claim they can code when they can't.

  • 0

There's a cute trick with the xor operator but I don't see any value in testing if the candidate knows about it. If he can find it on the spot then that's certainly impressive, but is it really the kind of skills you're looking for? On modern CPUs this is even counter-productive compared to using a temporary variable, so it's a typical example of premature and misguided "optimization". I view this type of question as outdated and as an interviewee it'd raise doubts in my mind about the company.

Then I'd be inlined to say you missed the point of the question, which (of course only in my opinion) was to test an applicant's ability to think outside the box to create an alternative solution to a common textbook problem given a specific constraint. In the context of the job being applied for, it may also have been relevant (although I don't know for sure) since the job being applied for was to write software for very specialized hardware, which was very environmentally constrained (something to do with turbochargers IIRC).

Of course, in reality for most systems, saving 1-8 bytes of memory is pointless and complicates a simple problem, so temporary variables would be used. But there are certainly specific cases where optimisation like that is useful, especially in extremely memory constrained systems (embedded systems, for example) where the cost of an extra couple of cycles is worth the bytes saved.

Could you give the solution? Or is the solution language specific, like Python assigment:
A, B = B, A 

But still, internally I'm sure a temporary variable(s!) is being used.

Firey posted the solution that my housemate came up with. As rfirth said, if the sum of the values would be greater than INT_MAX, then the solution fails, but no specific values were provided, so I think the answer is reasonable. In fact, I'd say that a good follow up quesiton would have been "How would your solution for the question above react to the following test cases. Which cases, if any, would fail?".

  • 0

I've been asked that question. As soon as you give the solution using modulus, they ask you to do it again without using modulus/multiplication/division.

Only solution I can think of without using modulus/multiplication/division would be to loop subtracting the number each time until the number is less than that number and checking it for 0.

  • 0

Firey posted the solution that my housemate came up with. As rfirth said, if the sum of the values would be greater than INT_MAX, then the solution fails, but no specific values were provided, so I think the answer is reasonable. In fact, I'd say that a good follow up quesiton would have been "How would your solution for the question above react to the following test cases. Which cases, if any, would fail?".

Ah many thanks, completely missed it! I also remember now that it wasn't that 3 variables are mandatory for a swap, but at least 3 instructions are.

Also, I completely agree on the fact that when hiring programmers for highly constrained systems like a small embedded ARM board, things like a washing machine or even better example, car computer.

Working in such environments would require very safe code and there's very little overhead available. So doing such interview tests will filter out people who most likely won't be able to work on such projects.

  • 0

Then I'd be inlined to say you missed the point of the question, which (of course only in my opinion) was to test an applicant's ability to think outside the box to create an alternative solution to a common textbook problem given a specific constraint. In the context of the job being applied for, it may also have been relevant (although I don't know for sure) since the job being applied for was to write software for very specialized hardware, which was very environmentally constrained (something to do with turbochargers IIRC).

Of course, in reality for most systems, saving 1-8 bytes of memory is pointless and complicates a simple problem, so temporary variables would be used. But there are certainly specific cases where optimisation like that is useful, especially in extremely memory constrained systems (embedded systems, for example) where the cost of an extra couple of cycles is worth the bytes saved.

If the job involves designing algorithms for unorthodox CPUs, extremely memory constrained systems, or requires solid mastery of bitwise operations, then the question is useful, but either I missed something or no mention was made of the specific job for which this question was asked.

I would be very impressed if someone who has never heard of the trick before were able to find it on the spot in an interview. It's not a trivial algorithm. As far as testing "out-of-the-box" thinking goes, there are much better questions to ask. In general, the xor swap algorithm:

- Is slower than using a temporary variable

- Obfuscates the code

- Doesn't even result in any memory savings as optimizers can optimize a temporary variable away, perform exchange with a single XCHG x86 instruction, etc. See http://en.wikipedia.org/wiki/XOR_swap_algorithm#Reasons_for_avoidance_in_practice

There's something just wrong about expecting any programmer to know about an obscure algorithm that's generally best avoided in practice.

  • 0

If the job involves designing algorithms for unorthodox CPUs, extremely memory constrained systems, or requires solid mastery of bitwise operations, then the question is useful, but either I missed something or no mention was made of the specific job for which this question was asked.

I would be very impressed if someone who has never heard of the trick before were able to find it on the spot in an interview. It's not a trivial algorithm. As far as testing "out-of-the-box" thinking goes, there are much better questions to ask. In general, the xor swap algorithm:

- Is slower than using a temporary variable

- Obfuscates the code

- Doesn't even result in any memory savings as optimizers can optimize a temporary variable away, perform exchange with a single XCHG x86 instruction, etc. See http://en.wikipedia....nce_in_practice

There's something just wrong about expecting any programmer to know about an obscure algorithm that's generally best avoided in practice.

Like I said, I expect that the question was posed to see what answers the candidates could come up with, a "thinking outside the box" problem solving aptitude question, rather than a know the spec/processor/application question. A very very elementary question with a twist intended to remove the candidate from their comfort zone to see if they can think creatively. That's why I liked it anyway.

Then again, the job was writing systems (again IIRC) using RPG, and very old, highly constrained systems; so within the context of the job it may well have been relevant. Not every programming job has the luxury of optimizing compilers and x86 instruction sets.

  • 0

The one I use most often in interviews is "How would you crash the runtime/virtual machine for your favorite language (or the one we're using here)"

Whether you're using Java, C++, Objective C, MSIL, Python, damn near anything that isn't ANSI C is operating in some sort of a runtime environment - knowing where the weaknesses are and how you might exploit them to cause the runtime to crash (rather than your application) is a good test of their knowledge of the tools.

I don't necessarily expect an "this is the step-by-step guide", just a pretty good explanation of where they would go looking. "I know that the VM can leak memory if certain kinds of interproces communication goes wrong - I also know that I can force that communication to go wrong by doing x so I would check the buglist for issues in y and then?" It's the thought process that matters.

  • 0

I was curious about the FizzBuzz question, so I tried to do something a little more original.


void fizzBuzz()
{
foreach(i; 1 .. 100 + 1) switch((i % 3 == 0) + (i % 5 == 0) * 2)
{
default: writeln(i); break;
case 1: writeln("Fizz"); break;
case 3: write("Fizz");
case 2: writeln("Buzz");
}
}
[/CODE]

  • 0

Dang FizzBuzz. I had to do one once in Java and completed it in like 15 seconds using ternary operators. The most difficult part isnt the code, but rather the mindset of "how in the hell is this going to be applied".

  • 0

Wow, really? I would struggle to employ anyone I haven't met face to face. Just out of interest, how many of the candidates you employ turn out to be a waste of space?

Oddly enough, letting the applicant do the talking has worked out pretty well. I wish I had body language to read but just listening to them ask questions certainly hasn't resulted in any worse candidates and maybe even a better hiring average. I once had a calc instructor that graded strictly based on the questions a student asked and not on test scores. He believed that the deeper your understanding of something is, the level of the questions you ask will reflect that. Since I was over 30 at the time and already working in the industry I thought that was an interesting way to analyze a persons understanding of something. I've applied that here because I have no choice.

You'd be surprised. If you really understand what a developer candidate NEEDS to do in a position its easy to spot each persons skill levels and who can technically do the job. The problem is technically capable is not really what we look for. Even in previous companies with in person interviews, the most I'll ever really do is maybe a fizzbuzz. The average business application coder isn't doing rocket science. Every team I've been on in the last 16 years has basically done nothing more than schlep data from some DB to a UI and back. Scanning back on this thread, I looked at one of Dr_Asiks questions

"You have a cloud of points in 2d. Design an algorithm to draw the smallest circle that contains all the points."

Nope, haven't needed to analyze 2D points in 16 years, probably don't need a dev that can now. One of the 'trigger' things I may listen for as an example is what tool sets or frameworks they have used in the last year or so and how do they talk about them. Do they just hit the buzz words or do they really talk about them at a deeper level.

In practical terms, what we found to be important for us is:

  • Do they have an understanding of the fundamentals of whatever language/s we are using?
  • Can they/are they willing to learn?
  • Can they interact with end users?
  • Can they interact with business owners?
  • Are they a prima donna?

If the first four are yes and the last no, then we probably have a winner - assuming they can pass the background and drug test...

  • 0
Scanning back on this thread, I looked at one of Dr_Asiks questions

"You have a cloud of points in 2d. Design an algorithm to draw the smallest circle that contains all the points."

Nope, haven't needed to analyze 2D points in 16 years, probably don't need a dev that can now.

The question was for a game programming position, where the ability to design algorithms that work with points and vectors in 2D and 3D space is very important. Actually I was tasked to design such an algorithm during my internship there.

Also the answer to that is not particularly difficult:

A circle is defined by a center point and a radius. To find the center point, find Xmax, Xmin, Ymax, Ymin in your cloud of points, and your center is the point in the middle of that (Xmin + ((Xmax - Xmin) / 2), Ymin + ((Ymax - Ymin) / 2)).

Now the radius is the smallest one that ensures the circle contains all the points: it therefore has to be as long as the distance to the furthest away point. The distance from the center to a point is simply the norm of the Point-Center vector. Go over your cloud of points, calculate the distance from the center for each, select the largest. Done.

  • 0

Here are a couple of somewhat evil questions. I'd never ask them, but these are my favourites from discussions with my colleagues:

1. Given an RBGA pixel, with 8 bits per channel packing into a 32-bit integer, write a function which does saturated addition on two pixels.

2. In Java, write a function which takes a string and returns a string that is the input if the input is 6 characters or less, and the first 3 characters + "..." if it's greater than 6.

The first question is fairly straight forward. The second... that's an exercise for the reader.

  • 0

Here are a couple of somewhat evil questions. I'd never ask them, but these are my favourites from discussions with my colleagues:

1. Given an RBGA pixel, with 8 bits per channel packing into a 32-bit integer, write a function which does saturated addition on two pixels.

2. In Java, write a function which takes a string and returns a string that is the input if the input is 6 characters or less, and the first 3 characters + "..." if it's greater than 6.

The first question is fairly straight forward. The second... that's an exercise for the reader.

The second one isn't that hard... is it?

Pseudocode

String Foo(String bar)
{
    if (bar.Length &lt;= 6)
   	 return bar

    return bar.Substring(0, 3) + "..."
}

  • 0

MrA really? lol


String Shortten(String text) {
return text.Length <= 6 ? text : text.Substring(0, 3) + "...";
}
[/CODE]

Hehe. I guess I wasn't clear. It's a trick question (and arguably, poorly defined), and according to my friend, no-one's been able to answer it. I certainly couldn't answer it, but at least I understand why I can't answer it.

  • 0

Hehe. I guess I wasn't clear. It's a trick question (and arguably, poorly defined), and according to my friend, no-one's been able to answer it. I certainly couldn't answer it, but at least I understand why I can't answer it.

Huh? How is it a trick question? Seems extremely straight forward... what are we missing here?

  • 0

The question was for a game programming position, where the ability to design algorithms that work with points and vectors in 2D and 3D space is very important. Actually I was tasked to design such an algorithm during my internship there.

Also the answer to that is not particularly difficult:

A circle is defined by a center point and a radius. To find the center point, find Xmax, Xmin, Ymax, Ymin in your cloud of points, and your center is the point in the middle of that (Xmin + ((Xmax - Xmin) / 2), Ymin + ((Ymax - Ymin) / 2)).

Now the radius is the smallest one that ensures the circle contains all the points: it therefore has to be as long as the distance to the furthest away point. The distance from the center to a point is simply the norm of the Point-Center vector. Go over your cloud of points, calculate the distance from the center for each, select the largest. Done.

Actually, the problem is considerably harder than that. How do you know that aabb center is always the center of the smallest circle? It's not clear that there's a relationship between the two. Here's an example:

47gSc.png

The blue points are the point cloud, and the white subdivided box is their aabb (note the blue point in the upper-right corner). The red circle is the one described by your algorithm with red dot as center; the green circle with green dot as center is smaller (possibly the smallest) and still covers all points. Anyway, this problem is called the minimum bounding circle, and there are a lot of ways to approach it but it is basically an optimization problem.

  • 0
Anyway, this problem is called the minimum bounding circle, and there are a lot of ways to approach it but it is basically an optimization problem.
I hadn't thought of that, so thanks for the explanation. That said, now that I think about it, I don't think they mentionned it had to be smallest possible circle during the interview. That would've been kinda hard for an internship position. :p
  • 0

Hehe. I guess I wasn't clear. It's a trick question (and arguably, poorly defined), and according to my friend, no-one's been able to answer it. I certainly couldn't answer it, but at least I understand why I can't answer it.

The trick is that the naive algorithm only works with a monospace font. The extreme case, a string composed of 'i's, will hold much more letters than normal text in a certain amount of pixels. So you have to measure the text if you want to do it correctly.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Dude, im talking about simply disable it from settings app. Because of the eu regulation, you could disable it here for years.
    • One big question about Mars was answered thanks to Einstein's 100 year old theory by Sayan Sen Image via DepositPhotos Scientists at the U.S. National Institute of Standards and Technology (NIST) have calculated how time passes on Mars compared with Earth, adding detail to how timekeeping would need to work beyond Earth’s orbit. The study, published in The Astronomical Journal, found that clocks on Mars run an average of 477 microseconds, or millionths of a second, faster per day than clocks on Earth. A microsecond is one millionth of a second, a very small unit used in precise scientific timing systems such as atomic clocks, which measure time using consistent atomic behavior. This difference is not constant. Because Mars moves around the Sun in a non-circular path (an eccentric orbit, meaning its distance from the Sun changes over time instead of staying fixed) and is affected by gravity from other bodies, the daily difference can vary by as much as 226 microseconds over a Martian year. The study also identifies smaller repeating changes of about 40 microseconds per day linked to synodic cycles (repeating periods that describe how planets line up with each other as they orbit the Sun from different positions). These longer patterns affect how time differences slowly rise and fall. To make these estimates, researchers compared Mars with Earth and the Moon. The work looks at relativistic proper time (the time actually measured by a clock depending on its speed and the strength of gravity where it is located, as described in Einstein’s relativity). This shows that each world has its own slightly different “rate” of time. This becomes more important as space missions expand into cislunar space (the region between Earth and the Moon) and toward Mars. On Earth, time systems rely on atomic clocks and satellites, which stay closely synchronized for navigation and communication. The study is based on Albert Einstein’s theory of relativity, which shows that time is affected by gravity and motion. Stronger gravity makes clocks run slower, while weaker gravity makes them run faster. “The time is just right for the Moon and Mars,” said NIST physicist Bijunath Patla. “This is the closest we have been to realizing the science fiction vision of expanding across the solar system.” A day on Mars is about 40 minutes longer than on Earth, and a Martian year lasts 687 Earth days. But the main question is not just about days and years, but how fast time itself passes. An atomic clock placed on Mars would function normally, but compared with one on Earth, the two would slowly drift apart due to differences in gravity and motion. This requires careful calculation of what is similar to a time-zone difference across planets. Researchers modeled Mars using a reference surface and included gravitational effects from the Sun, Earth, the Moon, and other planets. This includes a multi-body gravitational system (often described as a three-body or four-body problem, where predicting motion becomes difficult because multiple large objects all pull on each other at the same time through gravity). Mars also follows a Keplerian orbit (an idealized elliptical orbit based on simple gravitational laws that assume smooth motion, before adding real-world disturbances from other bodies). In addition, the researchers accounted for solar tides (small changes in gravitational force caused by the Sun that slightly distort planetary motion and timing, especially in systems involving Earth and the Moon). These combined effects are described as relativistic proper-time offsets (small but measurable differences in elapsed time between locations caused by gravity and motion), which must be included when comparing clocks across planets. “But for Mars, that’s not the case. Its distance from the Sun and its eccentric orbit make the variations in time larger. A three-body problem is extremely complicated. Now we’re dealing with four: the Sun, Earth, the Moon and Mars,” Patla explained. “The heavy lifting was more challenging than I initially thought.” Although the differences are extremely small, they matter for navigation and communication systems that depend on precise timing. Even modern networks on Earth, such as mobile systems, rely on timing accuracy at very small fractions of a second. Communication between Earth and Mars currently takes about four to 24 minutes or more depending on planetary positions, meaning signals are not real-time. A shared and accurate time system could help future missions reduce confusion in navigation and data exchange. “If you get synchronization, it will be almost like real-time communication without any loss of information. You don’t have to wait to see what happens,” Patla said. Researchers note that fully developed interplanetary communication networks are still far in the future. However, understanding how time behaves across planets helps prepare for those systems. “It may be decades before the surface of Mars is covered by the tracks of wandering rovers, but it is useful now to study the issues involved in establishing navigation systems on other planets and moons,” said Neil Ashby. “Like current global navigation systems like GPS, these systems will depend on accurate clocks, and the effects on clock rates can be analyzed with the help of Einstein’s general theory of relativity.” Patla added that the results also help improve understanding of time itself under relativity. “It's good to know for the first time what is happening on Mars timewise. Nobody knew that before. It improves our knowledge of the theory itself, the theory of how clocks tick and relativity,” he said. Source: NIST, IOPscience This article was generated with some help from AI and reviewed by an editor. Under Section 107 of the Copyright Act 1976, this material is used for the purpose of news reporting. Fair use is a use permitted by copyright statute that might otherwise be infringing.
    • TeraCopy 4.0 Build 26 by Razvan Serea TeraCopy is a compact program designed to copy and move files at the maximum possible speed, also providing you with a lot of features. Copy files faster. TeraCopy uses dynamically adjusted buffers to reduce seek times. Asynchronous copy speeds up file transfer between two physical hard drives. Pause and resume transfers. Pause copy process at any time to free up system resources and continue with a single click. Error recovery. In case of copy error, TeraCopy will try several times and in the worse case just skips the file, not terminating the entire transfer. Interactive file list. TeraCopy shows failed file transfers and lets you fix the problem and recopy only problem files. Shell integration. TeraCopy can completely replace Explorer copy and move functions, allowing you work with files as usual. TeraCopy is free for non-commercial use only. For commercial use you need to buy a license. The paid version of the program includes the following features: Copy/move to your favorite folders. Save reports as HTML and CSV files. Select files with the same extension/folder. Remove the selected files from the copy queue. TeraCopy 4.0 Build 26 changelog: Added support for receiving files via the LocalSend protocol. Improved exception handling and automated bug report upload. Fixed several minor bugs and small memory leaks. Build 26 (June 24) Fixed a rare exception when a transfer completed. Features added since version 3.17: Enhanced speed graph. New multi-threaded copy engine. Support for copying to multiple targets. Queue system for managing multiple copy operations. Support for receiving files via the LocalSend protocol. TeraCopy entry in the modern Windows Explorer context menu. Integrated toolbar in the title bar. Why receive LocalSend transfers with TeraCopy? Handle file conflicts: Skip, overwrite, or rename files when a file with the same name already exists. LocalSend always creates another copy, which can waste time and disk space, especially when resuming an interrupted transfer. Filter unwanted files: Apply ignore lists or remove files manually before accepting a transfer, so unnecessary files are not downloaded. Better performance on fast networks: In tests over a 10 Gbps connection, TeraCopy received files several times faster than the standard LocalSend app on Windows. Download: TeraCopy 4.0 Build 26 | 14.5 MB (Freeware, paid upgrade available) View: TeraCopy Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Briefly used Turbo Pascal (and Turbo C++) in 97 and soon after that I bought PC magazine that included a full version of Delphi 2. I still use Delphi today, some 29 years later.
    • Age of Empires Mobile comes to PC, here's how to carry over progress from your phone by Ivan Jenic Image: YouTube/Microsoft Microsoft just released Age of Empires Mobile for PC. The game, officially called Age of Empires Mobile: PC Edition, is available for free on Steam and Microsoft Store, almost two years after its initial release for handheld devices. Age of Empires is one of those franchises that entire generations grew up with. The original came out in 1997, and immediately got people hooked to building civilizations and crushing their enemies on the battlefield. However, the franchise today is a far cry from its roots, as Age of Empires Mobile is, well, a game optimized for handheld devices, and not a classic RTS title we’ve all loved for years. And, of course, it includes in-game purchases. The PC version is still a mobile game at its core, but it’s been optimized for desktop play. There’s mouse control, full keyboard compatibility, and a refined UI. Microsoft also refreshed the visuals with some 4k textures, so the game should look better on larger screens. The game supports Crossplay, so you can switch between your phone, tablet, and PC without losing anything. But linked progress doesn’t come out of the box, as you have to enable it first. Here’s how to link your progress: On your mobile device, open Age of Empires Mobile. Go to Settings (Gear icon) > Account. Select Bind Account and choose a sign-in option. Once you enable account binding, sign in on PC using the same method, and your progress will be accessible across all your devices. Xbox Game Pass subscribers also get a bonus reward pack on PC, which includes: 1 Monthly Pass Token 1 Custom Resource Chest 10 Universal 60-Minute Speed-Ups 1,000 Empire Coins Exclusive Player Portrait Frame You can find more info about Age of Empires Mobile: PC Edition, as well as download links, on the Age of Empires official website.
  • Recent Achievements

    • One Year In
      Philsl earned a badge
      One Year In
    • Dedicated
      Scoobystu earned a badge
      Dedicated
    • First Post
      Tom Schmidt earned a badge
      First Post
    • One Month Later
      D0nn13 earned a badge
      One Month Later
    • Rookie
      +ChiefOfNeo went up a rank
      Rookie
  • Popular Contributors

    1. 1
      +primortal
      458
    2. 2
      +Edouard
      177
    3. 3
      PsYcHoKiLLa
      124
    4. 4
      Michael Scrip
      79
    5. 5
      Xenon
      76
  • Tell a friend

    Love Neowin? Tell a friend!